我正在使用fileChannel.lock(long position, long size, boolean shared)
来获取文件特定部分的独占访问权限。确切的代码是:
fileChannel.lock(3458, 128, false);
但不幸的是,当我尝试从不同的进程中更改文件中的任何位置时,它会抛出异常,说该文件已被锁定。但我的期望是它应该允许我更改文件的任何部分,而不是我锁定的部分。
有人可以帮助我找到我做错的事吗?
有关我的设置的一些细节:
操作系统详细信息:
Mac OS X Lion 10.7.5
处理详细信息:
答案 0 :(得分:1)
FileChannel.lock
方法依赖于操作系统。此外,您不会在unix平台上获得任何文件锁定。这就是为什么它可能无法在Mac OS X上运行,因为这是基于unix的。