Привет, я пытаюсь скопировать файлы и папки из папки root в подпапки до уровня 5. Он должен работать так же, если нужно добавить папки или файлы.
Я пробовал примеры, касающиеся параметров уровня c и способности перечислять каталоги и предлагать мне подход для получения выходной папки, структуры файлов.
public static void main(String[] args) throws IOException {
String path = "Workspace/MainFolder/";
String targetPath="/Workspace/Dest/";
Files.walk(Paths.get(path),5).forEach(p->{
if(p.toFile().isDirectory()){
Stream.of(new File(path).listFiles()).filter(File::isFile).map(f->new File(f.getPath().replace(path,targetPath))).forEach(f->{
f.getParentFile().mkdirs();
try {
Files.copy(p,f.toPath(),StandardCopyOption.REPLACE_EXISTING);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
});
}else{
try {
Files.copy(p,new File(p.toFile().getPath().replace(path,targetPath)).toPath(),StandardCopyOption.REPLACE_EXISTING);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
}