我有平面文件是這樣的:如何計算空行的位置?
[Doc]
Date=14.01.15
Symbol=MUKA
[Content]
[Pos1]
Name=Muka2,0 0,9L ML
[Doc]
Date=14.01.15
Symbol=MUKA
[Content]
[Doc]
Date=14.01.15
Symbol=MUKA
[Content]
[Pos1]
Name=Muka2,0 0,9L ML
我想刪除[文件]聲明,其中內容是空的。我試圖通過檢查行有字符串「[Content]」,然後是下一行是空的。然後我想行(行號,其中行後空「[內容]」)的數量,然後將其添加到列表。具有空的[Content]部分的[Doc]總是有4行。所以,當我得到的[內容]我的位置可以從它4和。減去刪除位置和位置-4之間的線路。
執行後,文件必須是這樣的:
[Doc]
Date=14.01.15
Symbol=MUKA
[Content]
[Pos1]
Name=Muka2,0 0,9L ML
[Doc]
Date=14.01.15
Symbol=MUKA
[Content]
[Pos1]
Name=Muka2,0 0,9L ML
我想用函數來做到這一點:
public void countDesiredLines() throws IOException {
BufferedReader reader = new BufferedReader(new FileReader(
"D:\\Temp.txt"));
int lines = 0;
boolean zawiera = false;
while (reader.readLine() != null) {
lines++;
String line = reader.readLine();
if (zawiera == true) {
zawiera = false;
if ("".equals(line)) {
pozycje.add(lines);
}
}
if (line.startsWith("[Content]")) {
zawiera = true;
}
reader.close();
System.out.println("Wartość pod: " + pozycje.size());
// for (int i = 0; i < pozycje.size(); i++) {
// System.out.println("Wartość pod: "+ pozycje.get(i).toString());
// }
}
}
我有這樣的錯誤:
Wartość pod: 0
java.io.IOException: Stream closed
at java.io.BufferedReader.ensureOpen(BufferedReader.java:115)
at java.io.BufferedReader.readLine(BufferedReader.java:310)
at java.io.BufferedReader.readLine(BufferedReader.java:382)
at TextFormatter.countDesiredLines(TextFormatter.java:190)
at TextFormatter.main(TextFormatter.java:51)
我在Java新。如果你有任何線索或建議,請讓我知道。謝謝你的時間。