我有一些代码来读取文件中的行,我想知道当行开始或者fisrt字符(非空白)是'*
'并忽略它时,所以在while语句中添加
if(line[0]=='*')
ignore that line
我有类似的东西:
input = new BufferedReader(new FileReader(new File(finaName)));
String line = null;
while ((line = input.readLine()) != null) {
String[] words = line.split(" ");
....
}
如何完成代码?
答案 0 :(得分:4)
input = new BufferedReader(new FileReader(new File(finaName)));
String line = null;
while ((line = input.readLine()) != null) {
if(line.trim().indexOf('*') == 0)
continue;
String[] words = line.split(" ");
....
}
答案 1 :(得分:2)
将while循环更改为:
while((line = input.readLine()) != null){
if(!line.startsWith("*")){
String[] words = line.split(" ");
....
}
}
修改强>
如果“*”不在行的开头但在行的某个位置,请使用以下
if(line.indexOf("*") == position){
......
}
其中position可以是一个整数,指定您感兴趣的位置。
答案 2 :(得分:1)
假设*标记和行尾注释,此循环将保留该行之前所需的任何内容。
input = new BufferedReader(new FileReader(new File(finaName)));
String line = null;
char[] lineChars;
while ((line = input.readLine()) != null) {
lineChars = line.toCharArray();
line = "";
for(char c: lineChars){
if(c == '*')break;
line.concat(Character.toString(c));
}
if(!line.equals(""))
String[] words = line.split(" ");
}