我剛剛發現,至少在Linux下,我可以在目錄上打開一個FileChannel
,並調用force(true)在底層文件描述符上調用fsync()
。沒有深入瞭解這個should be necessary,很高興終於可以在純Java中使用此功能。使用FileChannel fsync與NIO.2的目錄
雖然我還沒有找到任何可以記錄此行爲的地方。我可以指望在所有Unix平臺,未來版本的Java和非Oracle JVM中都可以使用它嗎?
我剛剛發現,至少在Linux下,我可以在目錄上打開一個FileChannel
,並調用force(true)在底層文件描述符上調用fsync()
。沒有深入瞭解這個should be necessary,很高興終於可以在純Java中使用此功能。使用FileChannel fsync與NIO.2的目錄
雖然我還沒有找到任何可以記錄此行爲的地方。我可以指望在所有Unix平臺,未來版本的Java和非Oracle JVM中都可以使用它嗎?
請參見下面的主題:http://mail.openjdk.java.net/pipermail/nio-dev/2015-May/003140.html
這不是技術上的支持,但看起來像許多應用程序依賴於它支持將被保留。
http://stackoverflow.com/questions/5650327/are-filechannel-force-and-filedescriptor-sync-both-needed – Perception
這是關於文件;只有Java 7似乎允許在目錄上使用fsync,並且我想知道這是否是有意的。 – Carey
啊,有點遺憾,請看下面的@ EJP的回答。 – Perception