将zip文件移动到其他目录

时间:2013-09-02 06:10:03

标签: java

我有一个文件夹,其中有一个.dat文件,一个是.zip文件,我必须将.zip文件移动到另一个目录

我有两个文件夹,一个是

1) c:\source folder --> having two files abc.dat and other is abc.zip
2) c:\destination  ---> in which zip shpould be get copied 

请告知如何实现这一点我现在所做的就是......

File directory = new File(sourceFolder);
    File[] listFiles = (mcrpFilePath).listFiles();

 for (File f : listFiles) { 
        if (f.isFile()) {  // ?? here logic to pick up the zip file

        //logic to move the zip file to other directory

            }
        }

4 个答案:

答案 0 :(得分:2)

使用File.renameTo

  

重命名此抽象路径名表示的文件   此方法行为的许多方面本质上依赖于平台:重命名操作可能无法将文件从一个文件系统移动到另一个文件系统,它可能不是原子的,如果具有目标抽象路径名的文件可能不会成功已经存在。应始终检查返回值以确保重命名操作成功。

这是Example

或者你可以使用Files#move(如果你使用的是java 7)

  

将文件移动或重命名为目标文件。

这里是Example using move()

答案 1 :(得分:1)

就像在File类中使用方法renameTo()一样简单。

public boolean renameTo(File dest);
  

重命名此抽象路径名表示的文件。

获取file完整路径并将其重命名为所需位置。

并利用通过该方法返回的boolean来了解天气是否已成功移动。

答案 2 :(得分:1)

用于检测您的zip文件:

if(f.getName.equals("abc.zip"))

或所有zip文件:

if(f.getName.endsWith(".zip"))

使用正则表达式:

if(f.getName.matches("abc*\\.zip"))

moving it

f.renameTo(new File("C:\dest\abc.zip");

或者更简单:

new File("C:\src\abc.zip").renameTo("C:\dest\abc.zip");

根据需要捕获异常。

答案 3 :(得分:1)

使用java.io.File及其方法获取.zip文件列表并移动它们(Tutorial - Moving a File or Directory)

import static java.nio.file.StandardCopyOption.*;
...
Files.move(source, target, REPLACE_EXISTING); 

SOURCE