fsync(2)手册页告诉我们,如果要同步文件,则需要显式同步目录。
那么Java io包中的sync方法怎么样呢?它是否会考虑到这一点?它是否取决于操作系统和/或文件系统?
我在http://docs.oracle.com/javase/7/docs/api/java/io/FileDescriptor.html#sync中找不到任何有用的信息...
fsync(2)手册页告诉我们,如果要同步文件,则需要显式同步目录。
那么Java io包中的sync方法怎么样呢?它是否会考虑到这一点?它是否取决于操作系统和/或文件系统?
我在http://docs.oracle.com/javase/7/docs/api/java/io/FileDescriptor.html#sync中找不到任何有用的信息...
fsync
手册页面指出,调用fsync
并不意味着相关联的目录也会被同步。如果需要,必须为该目录调用fsync
。FileDescriptor
实例的方法。java.io.FileDescriptor.sync()
只是在UNIX上触发fsync
,在Windows上触发FlushFileBuffers
。因此,不,java.io.FileDescriptor.sync()
不会以任何方式影响相关目录。