我刚刚发现,至少在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