try{
    //写
}catch(IOException e){
   //各种可能无法进行输入输出操作的情况,包括被其它程序锁住该文件。
}

解决方案 »

  1.   

    可以锁文件
    但是锁之前无法得知是否之前已经有人占用具体方法是
    fc1 = new RandomAccessFile(new File("file.txt"), "rw").getChannel();
    FileLock fl = fc1.tryLock();
    if (fl != null){
        System.out.println("Locked File");
    }
      

  2.   

    我的想法是,如果一个文件正在被其它程序使用,
    本程序再对那个文件进行操作,可能导致信息的丢失。
    但这种情况是否能够避免呢?也许无法避免。
    就像:一个.txt文件,用记事本和UltraEdit同时对其进行编辑。用记事本进行编辑存盘后切换到UltraEdit,会提示是否更新文件,
    点击“是”:UE中编辑的文件会丢失。
    点击“否”:当UE存盘时,又会导致记事本编辑内容丢失。
      

  3.   

    当文件非常小的时候可以选择将原文件另存
    保险的方法是对文件加锁(UE默认不加锁)
    使用独占锁或只读共享锁,锁住整个文件
    两个程序对一个文件写共享(不加锁)UE那种解决方法是不错的