Java 获取文件的锁

Java 获取文件的锁,java,Java,我想在特定文件上启动threo read时在文件上设置一个锁,这样其他应用程序就无法读取已锁定的文件,并且在线程终止时想要释放锁文件。您可以通过一个。要获取文件通道,请执行以下操作: 在此版本中,可以通过调用现有对象或对象的getChannel方法从该对象获取文件通道,该方法返回连接到同一基础文件的文件通道 但是,Java无法控制操作系统提供的文件锁定类型,因此API建议使用该锁定,就好像它是一个建议文件锁定一样 锁是否实际阻止另一个程序访问锁定区域的内容取决于系统,因此未指定。某些系统的本机文

我想在特定文件上启动threo read时在文件上设置一个锁,这样其他应用程序就无法读取已锁定的文件,并且在线程终止时想要释放锁文件。

您可以通过一个。要获取文件通道,请执行以下操作:

在此版本中,可以通过调用现有对象或对象的getChannel方法从该对象获取文件通道,该方法返回连接到同一基础文件的文件通道

但是,Java无法控制操作系统提供的文件锁定类型,因此API建议使用该锁定,就好像它是一个建议文件锁定一样

锁是否实际阻止另一个程序访问锁定区域的内容取决于系统,因此未指定。某些系统的本机文件锁定功能只是建议性的,这意味着程序必须协同遵守已知的锁定协议,以保证数据完整性。在其他系统上,本机文件锁是强制性的,这意味着如果一个程序锁定文件的某个区域,那么其他程序实际上会被阻止以违反该锁定的方式访问该区域。在其他系统上,本地文件锁是建议性的还是强制性的,都可以根据每个文件进行配置。为了确保跨平台的行为一致且正确,强烈建议将此API提供的锁当作建议锁使用


一旦您读取并保留文件流,操作系统将锁定除读取文件外的其他进程,使其无法访问该文件

在Windows中,我知道有些应用程序允许您搜索锁定文件的进程并将其杀死是我最喜欢的

“没有其他应用程序”。。。你真的想要操作系统级强制锁定吗?至少在Unix世界中,这非常不方便,而且非常罕见。咨询锁定更为常见和可靠,但它确实需要所有进程的配合。我对Windows不太清楚。什么站台?你想解决什么问题?