2015-06-03 45 views
0

這是否可以確保所有數據在本地機器上同步,還是僅在當前正在運行的JVM中產生數據?FileDescriptor.sync()是否適用於所有文件數據或只是源於調用者JVM中的文件數據

FileOutputStream s = new FileOutputStream(filename) 
s.getFD().sync() 

FileInputStream fis = new FileInputStream(null); 
fis.getFD().sync(); 

上下文:我們有許多程序(其他軟件)寫入我們共享的文件。我們在使用它時鎖定它,然後解鎖它,但是我們發現操作系統沒有完全同步到文件存儲(網絡驅動器),即使每個人都完成了他們的文件。

即使在獲得鎖定之後,似乎操作系統並未與該文件同步並且某些最後的數據尚未寫入。

回答

0

不FileDescriptor.sync()的所有文件數據

或者只是文件呼叫者內始發JVM

數據它適用於工作只有當前文件描述符,它必須在調用者的JVM中,連同數據he 在寫字。

相關問題