我想使用核心java将一些选定的文件复制到目标文件夹。我无法使用JDK 7.我正在使用JDK 1.6。将整个源文件夹复制到目标文件夹是不可接受的。将选定的文件复制到一个文件夹
例如:
文件夹T包含x个.gif文件。我不得不Y复制(不动)(流出X).gif注意图像文件到一个单独的文件夹的数量,说K.
我不能将所有T(即X文件)复制到K.
我将如何在JDK 1.6中做到这一点?
我想使用核心java将一些选定的文件复制到目标文件夹。我无法使用JDK 7.我正在使用JDK 1.6。将整个源文件夹复制到目标文件夹是不可接受的。将选定的文件复制到一个文件夹
例如:
文件夹T包含x个.gif文件。我不得不Y复制(不动)(流出X).gif注意图像文件到一个单独的文件夹的数量,说K.
我不能将所有T(即X文件)复制到K.
我将如何在JDK 1.6中做到这一点?
使用FileUtils.copyDirectory()从commons-io,指定您的来源,目标和指示只复制.gif文件的过滤器。该方法的文档包括将所有.txt
文件从一个目录复制到另一个目录的示例,因此它可以使您获得约95%的路径。
@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);
}
我想这应该让工作相当完成。
该解决方案的缺点是无法处理嵌套目录和错误。将'File'追加到'destination'不会达到你想要的效果。即使是这样,这是构建文件路径的错误方法。 – 2012-04-24 12:40:55
我没有考虑嵌套目录。根据文件路径传递给方法的方式,附加文件相当简单。 – olatunjee 2012-04-24 12:59:28
“取决于文件路径传递给方法的方式”< - 正是你不想依赖的东西。 – 2012-04-24 13:48:33
@Ryan .........非常感谢Ryan.It的工作很好。 – 2012-04-25 05:26:41