2014-01-12 40 views
1
import java.io.File; 
import org.apache.commons.io.FilenameUtils; 
public class Tester { 
public static void main(String[] args) { 
    String rootPath = "F:\\Java\\Java_Project"; 
    File fRoot = new File(rootPath); 
    File[] fsSub = fRoot.listFiles(); 

    for (File file : fsSub) { 
     if(file.isDirectory()) continue; 
     String fileNewPath = FilenameUtils.removeExtension(file.getPath()) + "\\" + file.getName(); 
     File fNew = new File(fileNewPath); 
     try { 
      file.renameTo(fNew); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 
} 

我试图将文件移动到另一个目录,例如,如果文件路径是
"C:\out.txt"
不是我想要移动到
"C:\out\out.txt"
另一个目录如果我尝试打印原始文件和新的原始信息,工作很好,但他们只是不能成功移动。无法移动文件使用renameTo

+0

是什么'renameTo'返回? – m0skit0

+0

嗨,m0ski0,我们惊讶地发现,它返回true,但只是工作。 – Telerik

回答

2

我建议尝试的Java 7 NIO2

Files.move(Path source, Path target, CopyOption... options) 
+0

+1不知道Java 7中这个新的API – m0skit0

+0

看看这个http://docs.oracle.com/javase/tutorial/essential/io/fileio.html –