簡體   English   中英

Java 嘗試在同一個文件上使用 Reader 和 Writer 的資源

[英]Java try with resources with Reader and Writer on the same file

try (Reader reader = Files.newBufferedReader(path);
     Writer writer = Files.newBufferedWriter(path)) {
    ...
} catch (IOException exception) {
    ...
}

我可以使用 Reader 和 Writer 在 try-with-resources 中打開同一個文件嗎? 安全嗎?

即使允許了,也只是坐等問題出現。 ReaderWriter並不意味着在同一個文件上工作。

您可以研究其他選擇。 創建好舊的RandomAccessFile是為了支持讀取和寫入。 雖然它不適合文本。 FileChannel ,可從RandomAccessFile訪問或使用FileChannel.open是較新的,但仍然不能很好地處理文本。

這將是一個不好的做法。 不同的操作系統會給你不一致的結果,這是自找麻煩。

您最好讀取文件,寫入臨時文件,然后在完成后用臨時文件替換舊文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM