java判断一个文件是否正在被其他程序使用(调用)?

  • Post author:
  • Post category:java


使用renameTo 。
可以试一下以下两个程序:

先运行这个,让一个文件处于使用状态:
import java.io.*;

public class FileLocker {
        public static void main (String args[]) {
                try {
                        File f = new File("a.txt");
                        f.createNewFile();
                        FileReader fr = new FileReader(f);
                        while (true);
                } catch (Exception e) {
                        e.printStackTrace();
                }
        }
}

然后不要关掉,打开另一个窗口,运行下面这个:
import java.io.*;

public class FileLockChecker {
        public static void main (String args[]) {
                try {
                        File f = new File("a.txt");
                        File f1 = new File("b.txt");
                        f.renameTo(f1);
                        if (f.exists())
                                System.out.println("File in use.");
                        else
                                f1.renameTo(f); //改回来
                } catch (Exception e) {
                        e.printStackTrace();
                }
        }



版权声明:本文为DPC27149原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。