Java ist Datei geöffnet?

Stui2000

Member
13 März 2012
14
0
kann ich in Java prüfen ob eine Datei geöffnet ist?
Also ungefähr so:
Code:
if(file.isOpen()){
System.out.println("Datei ist geöffnet");
}
else{
System.out.println("Datei ist nicht geöffnet");
}
Danke schon mal an alle
 
Ich kenne jetzt die genauen Hintergründe nicht, aber wäre es nicht möglich, sobald eine Datei geöffnet wird dann einer Variable einen Wert zuzuweisen und später den Wert der Variablen abfragen?
 
Das sind zwar gute Ideen, aber ich möchte direkt ab Anfang des Programms abfragen, ob die Datei geöffnet ist...
mfg
 
Also im Internet habe ich folgendes gefunden:

Your best bet is to set an exclusive lock on the file. If file is open by other processes, you will get an exception. For example,
Code:
File file = new File(fileName);
FileChannel channel = new RandomAccessFile(file, "rw").getChannel();
// Get an exclusive lock on the whole file
FileLock lock = channel.lock();
try {
    lock = channel.tryLock();
    // Ok. You get the lock
} catch (OverlappingFileLockException e) {
    // File is open by someone else
} finally {
    lock.release();
}

Quelle: https://stackoverflow.com/questions/1390592/java-check-if-file-is-already-open