Java的文件移动函数源代码(整个目录移动)

By Minidxer | February 23, 2008

用Java写数据索引批处理的时候,因为要移动整个文件夹下面的文件,随手写了个函数,放在这里共享了。下面的代码都加了注释应该很容易看懂。


  1. /**
  2. * 移动指定文件夹内的全部文件
  3. * @param fromDir 要移动的文件目录
  4. * @param toDir    目标文件目录
  5. * @throws Exception
  6. */
  7. public static void fileMove(String from,
  8. String to
  9. ) throws Exception {
  10. try {
  11. File dir = new File(from);
  12. // 文件一览
  13. File[] files = dir.listFiles();
  14. if (files == null) return;
  15. // 目标
  16. File moveDir = new File(to);
  17. if (!moveDir.exists()) {
  18. moveDir.mkdirs();
  19. }
  20. // 文件移动
  21. for (int i = 0; i < files.length; i++) {
  22. if (files[i].isDirectory()) {
  23. fileMove(files[i].getPath()
  24. ,to + "\\" + files[i].getName());
  25. // 成功,删除原文件
  26. files[i].delete();
  27. }
  28. File moveFile =
  29. new File(moveDir.getPath() + "\\"
  30. + files[i].getName());
  31. // 目标文件夹下存在的话,删除
  32. if (moveFile.exists()) {
  33. moveFile.delete();
  34. }
  35. files[i].renameTo(moveFile);
  36. }
  37. } catch (Exception e) {
  38. throw e;
  39. }
  40. }

Topics: 程序开发相关 | 5 Comments » | Tags: , ,

你可能还对下列文章感兴趣:

5 comments | Add One

  1. 漫步 - 02/23/2008 at 2:04 pm

    不错,蛮好玩…你最近也在疯狂折腾java?

  2. Minidxer - 02/23/2008 at 2:12 pm

    呵呵,只是用Java写一点东西而已。Java的执行效率太低了,只适合写应用层的东西。。。

  3. 漫步 - 02/23/2008 at 4:43 pm

    还好了..相比 c 这样的来说当然没那么快了..

  4. Minidxer - 02/23/2008 at 5:30 pm

    Java吃内存太厉害了……
    不过无所谓了,只是写一个比较外层的东西,所以用Java写了。

Trackbacks

Leave a Comment

Name(*):

E-Mail(*) :

Website :

Comments :

Search Posts