Skip to Main Content

Java Programming

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Check if file is opened

807589Feb 3 2007 — edited Aug 21 2008
is there any way in java to check if a file is opened and closed?

i found this on web but doesnt work, seems that it is a right approach..dont know where goes wrong..
import java.io.*;
import java.nio.channels.*;

public class FileStatusChecking {  

	public static void main(String[] args) {
		try {
		        // Get a file channel for the file
		        File file = new File("empty.txt");
		        FileChannel channel = new RandomAccessFile(file, "rw").getChannel();
		    
		        // Use the file channel to create a lock on the file.
		        // This method blocks until it can retrieve the lock.
		        FileLock lock = channel.lock();
		    
		        // Try acquiring the lock without blocking. This method returns
		        // null or throws an exception if the file is already locked.
		        try {
		            lock = channel.tryLock();
		            System.out.println("FILE CLOSED");
		        } catch (OverlappingFileLockException e) {
		            // File is already locked in this thread or virtual machine
		        	System.out.println("FILE OPENING");
		        }
		    
		        // Release the lock
		        lock.release();
		    
		        // Close the file
		        channel.close();
		    } catch (Exception e) {
		    }
    
	}
}
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Sep 18 2008
Added on Feb 3 2007
20 comments
2,680 views