2010-08-20 132 views
5

我有类似于下面的代码。此代码在Windows和Linux上正常工作,但在Mac 10.5和10.6上不支持java.io.Exception操作。Java FileChannel.tryLock在Mac OS X上工作吗?

非常感谢您在这方面的帮助。

try 
{ 
    File file = new File("FILELOCK3"); 
    FileChannel channel = new RandomAccessFile(file, "rw").getChannel(); 
    FileLock lock = null; 
    try 
    { 
    lock = channel.tryLock(); 
    } catch (OverlappingFileLockException e) 
    { 
    lock.release(); 
    channel.close(); 
    System.exit(0); 
    } 
} catch (Exception e) 
{ 
} 
+0

被张贴[其他甚至没有得到一个例外...(http://forums.sun.com/thread.jspa? threadID = 5445091) – 2010-08-20 12:01:40

+0

我不认为那个线程确立了这一点。例如,海报没有显示他的异常处理,整个事情似乎很可疑。 – EJP 2010-08-21 01:17:12

回答

3

another source我得到的印象是错误取决于底层文件系统:

苹果一直没有实现文件在几个选定的文件系统锁定功能。

...和引用消息2005年5月

+0

谢谢,但我们有同样的工作吗? – SmartSolution 2011-04-11 11:14:25