BufferedReader を使用してテキスト ファイルから読み込もうとしています。「#」と「*」を含む行をスキップしたいのですが、うまくいきます。ただし、空行では機能しません。私は line.isEmpty() を使用していますが、最初の出力のみが表示されます。
私のテキストファイルは次のようになります。
# Something something
# Something something
# Staff No. 0
* 0 0 1
1 1 1 1 1 1
* 0 1 1
1 1 1 1 1 1
* 0 2 1
1 1 1 1 1 1
私のコード:
StringBuilder contents = new StringBuilder();
try {
BufferedReader input = new BufferedReader(new FileReader(folder));
try {
String line = null;
while (( line = input.readLine()) != null){
if (line.startsWith("#")) {
input.readLine();
}
else if (line.startsWith("*")) {
input.readLine();
}
else if (line.isEmpty()) { //*this
input.readLine();
}
else {
contents.append(line);
contents.append(System.getProperty("line.separator"));
System.out.println(line);
}
}
}
finally {
input.close();
}
}
catch (IOException ex){
ex.printStackTrace();
}
私が望む出力は次のようになります:
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1