Java:从文本文件中读取尾随的新行

问题描述:

如何获取文本文件的内容,同时保留它是否在文件末尾有换行符?使用这种技术,它是不可能告诉我们,如果文件中的一个新行结束:Java:从文本文件中读取尾随的新行

BufferedReader reader = new BufferedReader(new FileReader(fromFile)); 
StringBuilder contents = new StringBuilder(); 

String line = null; 
while ((line=reader.readLine()) != null) { 
    contents.append(line); 
    contents.append("\n"); 
} 
+0

如果您正在使用的BufferedWriter,你也可以使用.newline方法:http://stackoverflow.com/questions/9199216/strings-written-to-file-do-not-preserve-line-breaks – 2016-02-09 11:40:21

你可以阅读使用的技术之一上市here

我最喜欢的整个文件内容是这样的一个:

public static long copyLarge(InputStream input, OutputStream output) 
     throws IOException { 
    byte[] buffer = new byte[DEFAULT_BUFFER_SIZE]; 
    long count = 0; 
    int n = 0; 
    while ((n = input.read(buffer))>=0) { 
     output.write(buffer, 0, n); 
     count += n; 
    } 
    return count; 

}

不要使用的readLine();使用read()方法一次传输一个字符的内容。如果你在BufferedReader上使用它,这将具有相同的性能,但与上面的代码不同,它不会“规范化”Windows风格的CR/LF换行符。