0

我正在使用来自 apache 的 commonsIO lib 的 Files.copy(sourceFile,destFile),以便将 jpg 从一个文件夹复制到 Linux 机器上的另一个文件夹。

实际上我正在为文件夹中的所有图片做这件事:

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(sourceFile,destFile); 然后文件复制成功。

有人有线索吗 ??(这是一个 java-Linux 已知问题吗?)

谢谢!

4

1 回答 1

1

这不是 Linux 问题。

首先,您使用源文件夹作为源文件,而不是文件本身。

此外,您可能使用目标文件夹作为复制目标。

假设 destPath 是目标文件夹:

for(File file : folderContent){
    if(file.getName().endsWith("jpg")){  
        Files.copy(file, new File(destPath, file.getName()));
    }
}
于 2013-03-24T16:32:28.400 回答