FileDescriptor.sync()适用于所有文件数据,还是只适用于源自调用者JVM的文件数据?



这会确保所有数据都在本地机器上同步,还是只同步当前操作JVM中产生的数据?

FileOutputStream s = new FileOutputStream(filename)
s.getFD().sync()
FileInputStream fis = new FileInputStream(null);
fis.getFD().sync();

上下文:我们有许多程序(其他软件)写入我们共享的文件。我们都是在使用它的时候锁上它,然后再打开它……但是我们发现操作系统并没有完全同步到文件存储(网络驱动器),即使每个人都完成了他们的文件。

即使在获得锁之后,操作系统似乎也没有与文件同步,并且一些最后的数据还没有写入。

FileDescriptor.sync()是否适用于所有文件数据

或者仅仅是源自调用者JVM的文件数据

它只在当前文件描述符上工作,这必须在调用者的JVM中,以及他正在写入的数据。

相关内容

  • 没有找到相关文章

最新更新