2011-10-08 73 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