这会确保所有数据都在本地机器上同步,还是只同步当前操作JVM中产生的数据?
FileOutputStream s = new FileOutputStream(filename)
s.getFD().sync()
FileInputStream fis = new FileInputStream(null);
fis.getFD().sync();
上下文:我们有许多程序(其他软件)写入我们共享的文件。我们都是在使用它的时候锁上它,然后再打开它……但是我们发现操作系统并没有完全同步到文件存储(网络驱动器),即使每个人都完成了他们的文件。
即使在获得锁之后,操作系统似乎也没有与文件同步,并且一些最后的数据还没有写入。
号FileDescriptor.sync()是否适用于所有文件数据
或者仅仅是源自调用者JVM的文件数据
它只在当前文件描述符上工作,这必须在调用者的JVM中,以及他正在写入的数据。