package home;
import java.io.File;
import java.io.RandomAccessFile;
import java.net.UnknownHostException;
import java.nio.channels.FileChannel;
import java.nio.channels.FileLock;

import publicclass.ShowMessage;
/**
 * FileLockManager ÎļþËø¹ÜÀí
 *
 */
public class FileLockManager {
	@SuppressWarnings("resource")
	public static boolean isUsing(int singleId) throws UnknownHostException{  
	       try {
	    	   RandomAccessFile raf = null;
	           FileChannel channel = null;
	           FileLock lock = null;
	    
            // ÔÚÁÙʱÎļþ¼Ð´´½¨Ò»¸öÁÙʱÎļþ£¬Ëø×¡Õâ¸öÎļþÓÃÀ´±£Ö¤Ó¦ÓóÌÐòÖ»ÓÐÒ»¸öʵÀý±»´´½¨.
            File sf = new File(System.getProperty("java.io.tmpdir") + singleId + ".single");
            sf.deleteOnExit();
            sf.createNewFile();
 
            raf = new RandomAccessFile(sf, "rw");
            channel = raf.getChannel();
            lock = channel.tryLock();
 
            if (lock == null) {
                // Èç¹ûûÓеõ½Ëø£¬Ôò³ÌÐòÍ˳ö.
                // ûÓбØÒªÊÖ¶¯ÊÍ·ÅËøºÍ¹Ø±ÕÁ÷£¬µ±³ÌÐòÍ˳öʱ£¬ËûÃǻᱻ¹Ø±ÕµÄ.
         	   return false;
            }
            return true;
	       } catch (Exception e) {
	    	   ShowMessage.zidingyi("ÎļþËøÒì³££¡");
	             return false;
	       }  
	   } 

}