Java 从文件中读取可变行数

Java 从文件中读取可变行数,java,file-io,inputstream,Java,File Io,Inputstream,我试图从文件中读取可变数量的行,希望使用InputStream对象。我试图做的(从非常普遍的意义上)如下: Pass in long maxLines to function Open InputStream and OutputStream for reading/writing WHILE (not at the end of read file AND linesWritten < maxLines) write to file 将长的最大行传递给函数 打开InputStre

我试图从文件中读取可变数量的行,希望使用InputStream对象。我试图做的(从非常普遍的意义上)如下:

Pass in long maxLines to function
Open InputStream and OutputStream for reading/writing
WHILE (not at the end of read file AND linesWritten < maxLines)
   write to file
将长的最大行传递给函数
打开InputStream和OutputStream进行读/写
WHILE(不在读取文件和写入的行的末尾

我知道InputStream是以字节为单位的,而不是以行为单位的,所以我不确定这是否是一个好的API。如果有人对解决方案(其他API、不同的算法)有任何建议,这将非常有帮助。

您可以有类似的建议

       BufferedReader br = new BufferedReader(new FileReader("FILE_LOCATION"));
       while (br.readLine() != null && linesWritten < maxLines) { 
         //Your logic goes here
        }
BufferedReader br=new BufferedReader(新文件读取器(“文件位置”);
而(br.readLine()!=null&&lineswrited
你可以有这样的东西

       BufferedReader br = new BufferedReader(new FileReader("FILE_LOCATION"));
       while (br.readLine() != null && linesWritten < maxLines) { 
         //Your logic goes here
        }
BufferedReader br=new BufferedReader(新文件读取器(“文件位置”);
而(br.readLine()!=null&&lineswrited
看看这些:

看看这些:


谷歌搜索
FileReader/FileWriter
BufferedReader/BufferedWriter
。它将允许您按行而不是字节读/写文件。谷歌搜索
FileReader/FileWriter
BufferedReader/BufferedWriter
。它将允许您按行而不是字节读/写文件。我可以建议
alltext+=(line+System.getProperty(“line.separator”)
?如果不附加行分隔符,则输出文件将有一个较大的单行。您还可以优化代码并在同一循环中读/写;-)我将欣然接受第一个建议,谢谢。对于第二种情况,我将它们分开,以便操作员能够看到它们是如何独立工作的。在这种情况下,优化并不是什么大问题,我认为您的意图非常好,因此+1。我可以建议
alltext+=(line+System.getProperty(“line.separator”)
?如果不附加行分隔符,则输出文件将有一个较大的单行。您还可以优化代码并在同一循环中读/写;-)我将欣然接受第一个建议,谢谢。对于第二种情况,我将它们分开,以便操作员能够看到它们是如何独立工作的。在这种情况下,优化无论如何都不是什么大问题,我认为您的意图是非常好的,因此+1。