使用FileWriter寫入文件時可以移動文件的內容嗎?
我需要寫數據常量到文件的頭部,如果我這樣做,它會覆蓋文件。
我應該使用什麼技術來做到這一點,或者我應該在每次寫入文件時製作文件的副本(頂部有新數據)?寫入時移動文件?
Q
寫入時移動文件?
0
A
回答
1
如果您想覆蓋文件的某些字節而不是其他文件,可以使用seek和write來完成。如果要更改文件中每個字節的內容(例如,通過將單個字節添加到文件的開頭),則需要編寫一個新文件,並在完成寫入後重新命名它。
想想這個問題的答案:「完成後,偏移量x處的字節內容是什麼?」。如果對於x的可能值的很大百分比,答案是「不是以前的」,那麼你需要一個新的文件。
0
我們可以改變思維模式,問爲什麼文件系統或硬盤固件不能與我們自己提出的問題「偏移量x的字節內容是什麼?」做:a)提供另一種訪問文件的模式[比方說,內聯] b)通過在前面或中間甚至在結尾添加的字節數增加文件的長度c)移動每個開始的字節從newcontent.length位置截取
在磁盤固件或文件系統實現級別處理這些操作比將應用程序交給應用程序開發人員更容易和更快。我希望文件系統編寫者或硬盤供應商能儘快提供這樣的功能。
Regards, Samba
相關問題
- 1. ungetc()不寫入文件,但只移動文件位置?
- 2. 在運行Rails遷移時無法寫入MySQL臨時文件
- 3. Python基於偏移量寫入文件
- 4. 同時寫入文件
- 5. PHP同時文件寫入
- 6. 寫入文件時出錯
- 7. NSURLSessionDownloadTask移動臨時文件
- 8. 寫入文件夾時文件更改
- 9. 如何在移動一個文件時移動多個文件
- 10. 編寫一致的Java移動文件
- 11. 找出文件是否可寫/移動
- 12. 如何在Perl中截斷,創建,寫入和移動文件?
- 13. 編寫寫入文件時出錯
- 14. 爲什麼我可以在寫入Linux時成功移動文件?
- 15. Java PrintWriter:隨着時間的推移寫入相同的文件
- 16. 當寫入.bmp文件時發生字節偏移
- 17. Kivy移植到iOS。打開文件的工作,同時寫入文件不
- 18. 寫入文件
- 19. 寫入文件
- 20. 寫入文件?
- 21. 在讀/寫fstream時尋找/寫入位置時自動擴展文件大小
- 22. 移動文件
- 23. 移動文件
- 24. 移動文件
- 25. Python入門程序:移動文件
- 26. 將動態數據寫入win32文件
- 27. java - 自動寫入兩個文件
- 28. python寫入文件不寫
- 29. 寫入plist文件不寫
- 30. C寫()不寫入文件