以下のこの機能を使用して、 'Construction Documents'という名前のフォルダをすべて見つけました。 すべてのコンテンツを別のディレクトリにコピーします。1つのフォルダを内容がJavaの別のフォルダにコピーする方法
private void findDirectory(File parentDirectory, String insertDir) {
if(foundFolder) {
return;
}
File[] files = parentDirectory.listFiles();
for (File file : files) {
if (file.isFile()) {
continue;
}
if (file.getName().equals("Construction Documents")) {
System.out.println(file.getAbsolutePath());
if(file.getParent().contains("Original") || file.getParent().contains("Revision") || file.getParent().contains("R0")){
new File(insertDir + file.getParent()).mkdir();
try {
// FileUtils.copyDirectory(new File(file), new File(insertDir + file.getParent().toString()));
Files.copy(file.toPath(), new File(insertDir + file.getParent().toString()).toPath());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
if(file.isDirectory()) {
findDirectory(file, insertDir);
}
}
}
insertDirファイルのパスIDの文字列でフォルダを挿入したいとしている。私はのfileutilsを使用してみました、しかし、これは実際の建設ドキュメントフォルダの前に多くの親ファイルを含め、以上のディレクトリ全体をコピーします。ネイティブJavaはどちらかといえば動作しませんでしたが、単にエラーにつながってしまいました。
要するに、コピーしたファイルのすべての親ファイルをコピー先の端に作成することなく、すべてのサブフォルダと内容を別のフォルダにコピーしたいと思います。これらの線に沿って
私は 'continue'は、あなたがそれだと思う何をやっているとは思いません。実際には、ループ内の次の 'File'に行き、コードを続行しません。 –
その部分は実際にうまく動作します。その部分は、ファイルを無視して、コピーする適切なフォルダを探しています。 – ZKayyali