可能你做的其他操作做了文件读写后没有close释放句柄,导致删除失败。调试一下看看吧

解决方案 »

  1.   

    bug?按理说应该没有问题吧
    在catch Exception中加入打印错误,看看有没有抛出异常,另外在删除之前,调用删除方法中加个打印语句,看看删除方法是否真的曾经被调用过,这样来看看问题出现在哪里吧
      

  2.   

    public void deleteFile(File 待删除文件){...}要不你是不是每次重启动后自第二次操作起都删除的同一个文件?
      

  3.   

    private void createFile(String newLine){
            try {
                //建立输入流
                File logFile = new File(filePath);
                boolean exits = logFile.createNewFile();
                FileWriter fWriter = new FileWriter(logFile, true);
                PrintWriter out = new PrintWriter(fWriter, true); ;
                out.println(newLine);
                out.close();
                fWriter.close();
            }
            catch (FileNotFoundException e) {
                e.printStackTrace();
            }
            catch (IOException ie) {
                ie.printStackTrace();
            }
        }
        
        public void deleteFile(){
            File mydeleteFile = new File(filePath);
            try{if(mydeleteFile.exists()) mydeleteFile.delete();}
            catch(Exception e) {}
        }建立文件和删除文件的代码如上,是不是有什么地方没有释放呢?
    谢谢各位帮我看看
      

  4.   

    FileWriter fWriter =null;
    try {
                //建立输入流
                File logFile = new File(filePath);
                boolean exits = logFile.createNewFile();
                fWriter = new FileWriter(logFile, true);
                PrintWriter out = new PrintWriter(fWriter, true); ;
                out.println(newLine);
                out.close();
                fWriter.close();
            }
            catch (FileNotFoundException e) {
                e.printStackTrace();
            }
            catch (IOException ie) {
                ie.printStackTrace();
            }
    finlly{
    if (fWriter!=null )fWriter.close();
    }