0

Linux マシン上のあるフォルダーから別のフォルダーに jpg をコピーするために、apache の commonsIO lib から Files.copy(sourceFile,destFile) を使用しています。

実際、私はフォルダ内のすべての写真に対してそれをやっています:

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);
    }
}

しかし、新しいフォルダーに入るのは空のファイル (正しい名前) だけです。1つのファイルを使用した簡単なテストでテストしたとき、そのように: 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 に答える