如何在使用FileReader读取Java文件时跳过某一行?

如何在使用FileReader读取Java文件时跳过某一行?,java,java-io,Java,Java Io,我在一个文件中阅读,就像 FileReader reader = new FileReader(source); FileWriter writer = new FileWriter((destination)); int char = 0; while ((char = reader.read()) != -1) { writer.write(char); } 基本上,我希望首先检查源文件是否包含某一行,然后是换行符,如果是,我希望跳过这些行,不将其写入目标文件 请注意,我想跳过的换行

我在一个文件中阅读,就像

FileReader reader = new FileReader(source);
FileWriter writer = new FileWriter((destination));

int char = 0;
while ((char = reader.read()) != -1) {
  writer.write(char);
}
基本上,我希望首先检查源文件是否包含某一行,然后是换行符,如果是,我希望跳过这些行,不将其写入目标文件

请注意,我想跳过的换行符将使用添加到源文件中

System.getProperty("line.separator").getBytes()

非常感谢

使用具有
readLine()
方法的
BufferedReader
。由于缓冲,这也会使代码更快。顺便说一句,请使用
BufferedReader
,它具有
readLine()
方法。这也会使你的代码更快,因为缓冲,顺便说一句。

对于readLine,只读取该行,不使用该行执行任何操作。使用此选项自动跳到下一行。使用BufferedReader,您可以使用ReadLine()读取该行并将该行与要跳过的格式匹配。使用ReadLine,只读取该行,不使用该行执行任何操作。使用此选项自动跳到下一行。使用BufferedReader时,您可以使用ReadLine()读取该行并将该行与要跳过的格式匹配。感谢@jb nizet,只是想知道处理换行的正确方法是什么-因为BufferedWriter没有相应的.writeLine(String)方法?这是正确的吗?而((inputLine=bufferedReader.readLine())!=null){bufferedWriter.write(inputLine);bufferedWriter.newLine();}您可以在任何其他编写器之上使用PrintWriter,并且PrintWriter具有println()方法,这些方法编写平台EOL。BufferedReader将处理新行,无论使用什么:\r\n或\r\n。谢谢@jb nizet,只是想知道处理新行的正确方法是什么-因为BufferedWriter没有相应的.writeLine(String)方法?这是正确的吗?而((inputLine=bufferedReader.readLine())!=null){bufferedWriter.write(inputLine);bufferedWriter.newLine();}您可以在任何其他编写器之上使用PrintWriter,并且PrintWriter具有println()方法,这些方法编写平台EOL。BufferedReader将处理换行符,无论使用什么:\r\n或\r\n。