我正在使用来自apache的commonsIO lib的Files.copy(sourceFile,destFile),以便在Linux机器上将jpg从一个文件夹复制到另一个文件夹。
实际上我正在为文件夹中的所有图片执行此操作:
File folder = new File(sourcePath);
File[] folderContent = folder.listFiles();
File tmp = null;
File sourceFile = null;
File destFile = null;
//copy all pics to other folder :
for(int i=0;i<folderContent.length;i++){
if(folderContent[i].getName().endsWith("jpg")){
sourceFile = new File(sourcePath);
destFile = new File(destPath);
//copy to main dir:
Files.copy(sourceFile,destFile);
}
}
但我在新文件夹中获得的只是空文件(名称正确)。 当我使用一个文件进行简单测试时测试它,就像那样: 的 Files.copy(的资源文件,destFile); 然后文件复制成功。
有没有人有线索? (这是一个java-Linux已知问题吗?)
谢谢!
答案 0 :(得分:1)
这不是Linux问题。
首先,您使用源文件夹作为源文件,而不是文件本身。
另外,您可能使用目标文件夹作为复制目标。
假设destPath是目标文件夹:
for(File file : folderContent){
if(file.getName().endsWith("jpg")){
Files.copy(file, new File(destPath, file.getName()));
}
}