FileName.println(String);跳过每隔一行

问题描述 投票:0回答:1

我必须修改.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();
    }
}
java line printwriter
1个回答
0
投票

错误在第21行,如PM 77-1在上面的注释中所指出:

} else if (inFile.readLine() == null) {

应该是

} else if (s == null) {

© www.soinside.com 2019 - 2024. All rights reserved.