我必须修改.txt文件中的实验中的测量数据。我试图做的是一次从文件中读取一行,对其进行修改,然后将其写入新文件。但是,我的输出文件仅包含输入中的所有其他行。有人可以解释我的错误吗?
import java.io.*;
public class TextMod {
public static void main(String[] args) throws IOException {
File file = new File("C:\\Users\\ediwi\\Desktop\\Exfys A\\Java\\Code\\DataPointsModded.txt");
BufferedReader inFile = new BufferedReader(new FileReader("me99.txt"));
PrintWriter outFile = new PrintWriter(new BufferedWriter(new FileWriter(file)));
int counter = 0;
while (true) {
String s = inFile.readLine();
if (counter < 11) { // I want to skip the first couple of lines
counter++;
continue;
} else if (inFile.readLine() == null) {
System.out.println(counter - 11 + "Datapoints.");
break;
} else outFile.println(s.replaceAll("\\t", ";"));
counter++;
}
outFile.close();
}
}
错误在第21行,如PM 77-1在上面的注释中所指出:
} else if (inFile.readLine() == null) {
应该是
} else if (s == null) {