读文件时去掉注释部分内容方法
来源:互联网 发布:克莱德曼知乎 编辑:程序博客网 时间:2024/06/05 02:01
处理的重点就是如何判断和删除两行注释中间的不是以"#"或者"~"开头的注释行,草草写了段代码,对于楼主给的那段some.txt能够正常处理
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
public class DelectComments {
public static void main(String rags[]) {
File f = new File("D://Hello.txt");
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(f));
boolean flag1 = false;// #
boolean flag2 = false;// ~
String content = "";
// last output content
ArrayList<String> outputContents = new ArrayList<String>();
// the number of lines that between 2 comments lines start with "#" or "~"
int commentsLineNum = 0;
while ((content = br.readLine()) != null) {
// the line is comments and start with "#"
if (content.startsWith("#")) {
// delete the comments lines between 2 comments lines start with "#"
if (flag1) {
for (int i = 0; i < commentsLineNum; i++) {
outputContents.remove(outputContents.size() - 1);
}
commentsLineNum = 0;
} else {
flag1 = true;
}
// the line is comments and start with "~"
} else if (content.startsWith("~")) {
// delete the comments lines between 2 comments lines start with "~"
if (flag2) {
for (int i = 0; i < commentsLineNum; i++) {
outputContents.remove(outputContents.size() - 1);
}
commentsLineNum = 0;
} else {
flag2 = true;
}
} else {
outputContents.add(content);
commentsLineNum++;
}
}
// output the text
for (String outputContent : outputContents) {
System.out.println(outputContent);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
但是还有个问题就是该程序没有考虑到如果在正文以后再次出现注释行的情况,如果用本程序处理的话,就会错误的把正文也作为注释删除,如果有高人的话还望能够不吝赐教。
- 读文件时去掉注释部分内容方法
- sed 去掉文件中的注释#
- OBIEE去掉主页左边部分内容
- java class文件反编译 去掉无用注释
- 去掉注释
- fread读文件总是多出那么部分内容解决方法
- 去掉NetBeans在新建时的注释
- 去掉 loadrunner运行时弹出的*.UNK文件 方法
- [原创] 去掉loadrunner运行时弹出的*.UNK文件 方法
- 使用dom4j去掉Xml文件中注释内容的解决办法
- 第一个小项目 - 去掉指定文件中的注释
- 简单的js文件去掉换行和注释
- C# 加载XML 文件 去掉注释 和命名空间
- Linux Shell脚本去掉几类常见文件中的注释
- 使用dom4j去掉Xml文件中注释内容
- Java 单个文件操作(去掉空行,去掉注释,替换引号等)
- 在myeclipse 10中编辑xml文件时注释方法
- 如何去掉注释??
- execute、executeQuery和executeUpdate之间的区别
- 3DES加密
- WM 通知、声音和提醒
- lex rpg游戏的简单构建与分析
- 取得中文字符串中出现次数最多的子串
- 读文件时去掉注释部分内容方法
- 大型复杂IT项目管理实践第一篇 --- 大型复杂IT项目的特点和管理难点
- QFtp 与中文问题
- 程序员的人生..
- 设计模式——《大话设计模式》——简单工厂模式+策略模式+策略与简单工场结合
- Struts2.2.1 零配置实现
- 用stack变量优化Java代码
- apache 开启 网页压缩
- 线段树+离散化