[英]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 中打開同一個文件嗎? 安全嗎?
即使允許了,也只是坐等問題出現。 Reader
和Writer
並不意味着在同一個文件上工作。
您可以研究其他選擇。 創建好舊的RandomAccessFile是為了支持讀取和寫入。 雖然它不適合文本。 FileChannel ,可從RandomAccessFile
訪問或使用FileChannel.open
是較新的,但仍然不能很好地處理文本。
這將是一個不好的做法。 不同的操作系統會給你不一致的結果,這是自找麻煩。
您最好讀取文件,寫入臨時文件,然后在完成后用臨時文件替換舊文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.