1.流正在写入abc.txt的过程中,把abc.txt重命名为def.txt。继续写入无异常,流继续往def.txt写入。
2.流正在写入abc.txt的过程中,删除abc.txt。继续写入无异常,不知道写到哪里...现在想实现:
建一个文件输入流,持续的往一个文件中写入。当正在写入的文件被删除时,希望能捕获到异常,重新新建文件进行写入。考虑到性能问题,不考虑在每次写入文件的时候判断文件是否存在

解决方案 »

  1.   

    有点难,我知道log4j也没解决这个问题。
      

  2.   


    java写文件的时候已经默认好了路径和文件名,你要是想删除后改变文件名再写入,那么久起一个线程重新new一个文件进行写入。。这个线程可以不停的检测正在写入的文件是否存在,若不存在就执行操作。。
      

  3.   

    linux下信号驱动IO中可以设置关注文件的删除、修改之类的操作,关注事件发生时,select系统调用会返回,可以作为判断条件
      

  4.   

    现在用的是SuSE10的操作系统,不清楚在哪里配置。