2012-04-24 84 views
0

我想使用核心java将一些选定的文件复制到目标文件夹。我无法使用JDK 7.我正在使用JDK 1.6。将整个源文件夹复制到目标文件夹是不可接受的。将选定的文件复制到一个文件夹

例如:

文件夹T包含x个.gif文件。我不得不Y复制(不动)(流出X).gif注意图像文件到一个单独的文件夹的数量,说K.

我不能将所有T(即X文件)复制到K.

我将如何在JDK 1.6中做到这一点?

回答

2

使用FileUtils.copyDirectory()commons-io,指定您的来源,目标和指示只复制.gif文件的过滤器。该方法的文档包括将所有.txt文件从一个目录复制到另一个目录的示例,因此它可以使您获得约95%的路径。

+0

@Ryan .........非常感谢Ryan.It的工作很好。 – 2012-04-25 05:26:41

-2

@Ryan的答案是一个。不过,我还没有尝试过。

但是,您可能需要这样做: 编写一个方法,它接受两个目录路径,然后使用扩展来过滤要复制的文件。也许这样的事情:

//get all the select files in that folder 
File directory[] = source.listFiles(); 

//iterate through the files 
for (File fileName : directory) 
{ 
    //check here: if the extension doesn't match what you want, continue the loop if it doesn't match 

    File newFile = new File(destination + fileName); 
} 

我想这应该让工作相当完成。

+1

该解决方案的缺点是无法处理嵌套目录和错误。将'File'追加到'destination'不会达到你想要的效果。即使是这样,这是构建文件路径的错误方法。 – 2012-04-24 12:40:55

+0

我没有考虑嵌套目录。根据文件路径传递给方法的方式,附加文件相当简单。 – olatunjee 2012-04-24 12:59:28

+0

“取决于文件路径传递给方法的方式”< - 正是你不想依赖的东西。 – 2012-04-24 13:48:33

相关问题