2015-06-03 106 views
0

这是否可以确保所有数据在本地机器上同步,还是仅在当前正在运行的JVM中产生数据?FileDescriptor.sync()是否适用于所有文件数据或只是源于调用者JVM中的文件数据

FileOutputStream s = new FileOutputStream(filename) 
s.getFD().sync() 

FileInputStream fis = new FileInputStream(null); 
fis.getFD().sync(); 

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

即使在获得锁定之后,似乎操作系统并未与该文件同步并且某些最后的数据尚未写入。

回答

0

不FileDescriptor.sync()的所有文件数据

或者只是文件呼叫者内始发JVM

数据它适用于工作只有当前文件描述符,它必须在调用者的JVM中,连同数据he 在写字。

相关问题