【发布时间】:2019-02-10 08:19:18
【问题描述】:
在 Java 中交错 BufferedWriter 和 PrintWriter 是否安全?考虑以下示例:
private void writeToFile(File file, String text, Throwable throwable) throws Exception { // I use the "throws Exception" here for simplicity of the example
// Write text
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(file));
bufferedWriter.write(text);
bufferedWriter.newLine();
bufferedWriter.flush();
// Write StackTrace
PrintWriter printWriter = new PrintWriter(bufferedWriter);
throwable.printStackTrace(printWriter);
printWriter.close();
}
我知道我也可以使用PrintWriter 来编写文本。但我的问题是:
- 以这种方式使用
PrintWriter和BufferedWriter是否安全? - 如果它是安全的,那么没有
bufferedWriter.flush()也安全吗? - 如果安全的话,在我使用
PrintWriter之后再次使用BufferedWriter是否也安全?
请注意,类似的问题 here 假定只有 PrintWriter 被访问,因此不回答我的问题。
【问题讨论】:
标签: java filewriter printwriter bufferedwriter