2010-08-20 41 views
5

Ho il codice simile al seguente. Questo codice funziona bene su Windows e Linux, ma su Mac 10.5 e 10.6 l'operando di java.io.Exception non è supportato.Java FileChannel.tryLock funziona su Mac OS X?

Molte grazie per qualsiasi aiuto in questo senso.

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

[Altri non hanno nemmeno avere un'eccezione ...] (http://forums.sun.com/thread.jspa? threadID = 5445091) –

+0

Non penso che quel thread lo stabilisca. Il poster non ha mostrato la sua gestione delle eccezioni, ad esempio, e l'intera cosa sembra piuttosto discutibile. – EJP

risposta

3

Da another source ho l'impressione che l'errore dipende dal file system sottostante:

Apple non ha implementato il file funzione di blocco su alcuni sistemi di file selezionati.

... e il messaggio si fa riferimento è stato pubblicato nel maggio 2005.

+0

Grazie ma abbiamo qualche problema con lo stesso? – SmartSolution