[英]BufferedWriter class writeLine method
為什么BufferedReader
類有readLine()
方法,但BufferedWriter
類沒有writeLine(String)
方法? 現在我們必須write(str + "\\n")
或write(str)
和newLine()
。
通過javadocs讀取我沒有看到為什么沒有提供writeLine()
方法的任何具體原因。 使用提供的write
方法,BufferedWriter將在寫入之前緩沖字符以提高效率。 提供新的writeLine()
方法不會添加任何值,因為這個假想的writeLine
方法中提供的字符流將僅在緩沖區已滿時進行緩沖和寫入。
您可以切換到PrintWriter類而不是BufferedWriter,因為它提供了println(String str)
方法,可以使用該方法編寫字符串和換行符。 但是與BufferedWriter相比,這是低效的,只有在希望輸出文件在調用println()方法時立即寫入字符串時才更好。
有了BufferedWriter
類的原因, 這里提到的最好的方法是使用write()
和newLine()
方法。
要利用BufferedWriter
的好處並訪問println()
方法,您可以按照javadocs中的建議執行以下操作:
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("foo.out")));
out.println("Hello World!");
來自https://docs.oracle.com/javase/7/docs/api/java/io/BufferedWriter.html
提供了一個newLine()方法,它使用平台自己的行分隔符概念,由系統屬性line.separator定義。 並非所有平台都使用換行符('\\ n')來終止行。 因此,調用此方法終止每個輸出行比直接編寫換行符更為可取。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.