renameTo()批量改名后,发现很多是失败的,该怎么样改正,或提高稳定性?

解决方案 »

  1.   

    public boolean moveToFolder(String fileName ,String formFileDir, String toFileDir){
    File fileFrom=new File(formFileDir+fileName);
    System.out.println(formFileDir+fileName);
    File fileTo=new File(toFileDir);
    if(!fileTo.exists()){
    this.createFolder(fileTo);
    }
    fileTo=new File(toFileDir+fileName);
    System.out.println(toFileDir+fileName);
    boolean flag=fileFrom.renameTo(fileTo);
    return flag;
    }
    我循环调用这个函数
      

  2.   

    formFileDir+fileName 你必须保证这个文件存在renameTo()才能返回true
    还有就是一旦renameTo()返回true formFileDir+fileName代表的文件就会被剪切到toFileDir 下面 
    希望你好好检查下
      

  3.   

    还有就是你这个moveToFolder()方法 你的本意是想用来干什么?
    是不是想把formFileDir下面的文件全部移动到toFileDir下面?
      

  4.   

    我就是要把formFileDir下面的文件全部移动到toFileDir下面,如果目录不存在我就用
    if(!fileTo.exists()){
    this.createFolder(fileTo);
    }
    创建目录,可是老是不能全部成功
      

  5.   

    File fileFrom=new File(formFileDir+fileName);
    System.out.println(formFileDir+fileName);
    System.out.println("fromFile.isFile() = " + fromFile.isFile());
    System.out.println("fromFile.exists() = " + fromFile.exists());你加上这两句话 看看fromFile.isFile()和fromFile.exists() 是不是返回true
      

  6.   

    还有就是你必须保证toFileDir下面没有和你想移动过去的文件有重名的
    因为在JAVA中不会提示你是否覆盖重名文件
    如果上面两个方法都永远返回true
    建议你把toFileDir下面的所有文件删除 ,再运行
      

  7.   

    createFolder(fileTo);........你自己写的?直接用fileTo.mkdir()不就行了。
    文件夹创建失败也会导致结果的false。