Wie Sie feststellen, wenn die Datei von einem anderen Prozess (Java)

Ich habe versucht, viele Beispiele, aber niemand arbeitet.
Ich versuche dies aber nicht funktionieren.

Ich habe versucht, auch die Verwendung der tryLock(). Es gibt immer false. warum?

private boolean checkCompleteFile(File f)
{           
    RandomAccessFile file = null;
    FileLock fileLock = null;

    try
    {
        file = new RandomAccessFile(f, "rw");
        FileChannel fileChannel = file.getChannel();

        fileLock = fileChannel.lock();
        if (fileLock != null)
        {
            fileLock.release();
            file.close();
            return false;
        }

    }
    catch(Exception e)
    {
         return false;
    }

    return true;
}
  • Was nicht funktioniert? Was für ein Ergebnis kommst du von dem code, den Sie hier angeboten? Welches Ergebnis erwarten Sie?
  • Ich kann immer eine lock Datei, selbst wenn die Datei geschrieben wird!!!
  • Dein code macht keinen Sinn. Die einzige Zeit, die Sie true zurückgeben, wenn FileChannel.lock() zurück null, die Sie niemals tun. Sie sind auch undicht, den Kanal in diesem Fall, aber es kann eigentlich nie passieren. Wenn Sie es geschafft haben, die Sperre, das bedeutet, dass niemand sonst hat Sie gesperrt: sicherlich möchten Sie zurück true in diesem Fall?
Schreibe einen Kommentar