2011-10-08 80 views
1

我剛剛發現,至少在Linux下,我可以在目錄上打開一個FileChannel,並調用force(true)在底層文件描述符上調用fsync()。沒有深入瞭解這個should be necessary,很高興終於可以在純Java中使用此功能。使用FileChannel fsync與NIO.2的目錄

雖然我還沒有找到任何可以記錄此行爲的地方。我可以指望在所有Unix平臺,未來版本的Java和非Oracle JVM中都可以使用它嗎?

+0

http://stackoverflow.com/questions/5650327/are-filechannel-force-and-filedescriptor-sync-both-needed – Perception

+0

這是關於文件;只有Java 7似乎允許在目錄上使用fsync,並且我想知道這是否是有意的。 – Carey

+0

啊,有點遺憾,請看下面的@ EJP的回答。 – Perception

回答

0

你可以依靠任何文檔說的,而沒有別的。

+0

與'FileInputStream'不同,'FileChannel.open()'的文檔並沒有說它只適用於普通文件,我猜這是必須做的。 – Carey