当前位置:  开发笔记 > 编程语言 > 正文

Java文件锁定在网络上

如何解决《Java文件锁定在网络上》经验,为你挑选了1个好方法。

这可能与以前的帖子类似,但我想具体说明在网络上使用锁定,而不是在本地.我想将文件写入共享位置,因此它可能会进入网络(当然是Windows网络,也许是Mac).我希望阻止其他人在编写文件的同时阅读该文件的任何部分.这不是一个高度并发的过程,文件通常小于10MB.

我已经阅读了FileLock文档和File文档,并且有些困惑,关于什么是安全的,什么不是.我想锁定整个文件,而不是部分文件.

我可以使用FileChannel.tryLock(),它在网络上是安全的,还是取决于网络的类型?它是否适用于标准的Windows网络(如果有这样的话).

如果这不起作用,最好将零字节文件或目录创建为锁定文件,然后写出主文件.为什么该File.createNewFile()文档说不要将其用于文件锁定?我很欣赏这是受比赛条件限制的,并不理想.



1> 小智..:

这在网络文件系统上无法可靠地完成.只要您的应用程序是访问该文件的唯一应用程序,最好实现某种协作锁定过程(可能在打开文件时将锁定文件写入网络文件系统).但是,不建议使用的原因是,如果您的进程崩溃或网络出现故障或发生任何其他问题,您的应用程序将陷入令人讨厌的脏状态.

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有