0

我有一个文件夹,其中有一个 .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

4 回答 4

2

使用File.renameTo

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

这是示例

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

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

这是使用 move() 的示例

于 2013-09-02T06:12:27.060 回答
1

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

public boolean renameTo(File dest);

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

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

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

于 2013-09-02T06:12:39.700 回答
1

用于检测您的 zip 文件:

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

或所有 zip 文件:

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

使用正则表达式:

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

移动它:

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

或者,更简单地说:

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

根据需要捕获异常。

于 2013-09-02T06:12:55.563 回答
1

使用 java.io.File 及其方法获取 .zip 文件列表并移动它们(教程 - 移动文件或目录)

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

资源

于 2013-09-02T06:36:06.483 回答