一部の内部ファイルを除くフォルダをコピーJavaは、私がこのような構造でフォルダを持っている
mainFolder
--Sub1
--File .scl
--File .awl
--Other files
--Sub2
--Files
--Sub3
--Sub4
私は別の場所にコピーしたいが、私はSUB3を回避して(から依存することにしたいです状況が)ここでSub1を
からいくつかのファイルは、私がこれまでやったからの抜粋です:
FileUtils.copyDirectory(srcDir, dstDir, new FileFilter() {
public boolean accept(File pathname) {
// We don't want 'Sub3' folder to be imported
// + look at the settings to decide if some format needs to be
// excluded
String[] ignoreList= new String[]{
!Settings.getSiemensOptionAWL() ? ".awl":"uselessStringWilNeverBeFound",
!Settings.getSiemensOptionSCL() ? ".scl":"uselessStringWilNeverBeFound",
"Sub3"
};
return !(ignoreFile(pathname, ignoreList) && pathname
.isDirectory());
}
}, true);
public static boolean ignoreFile(File file, String[] ignoreList) {
for (final String ignoreStr : ignoreList)
if (file.getAbsolutePath().contains(ignoreStr))
return true;
return false;
}
それは明らかに縫い目があります。しかし、私は非常に醜い解決策だと思う.... 誰も良い方法を知っていますか?
P.S:コースSettings.getSiemensOptionAWLの は()だけブール関数である私の決定を返すtaht
ディレクトリ全体を新しい場所にコピーしてから削除するのは簡単でしょうそこにあるべきではないファイル(そのコピーから)。明らかに、原動力が基本機能ではなくセキュリティに関連している場合、これは適切ではありません。 –
私はあなたが何を意味するのか見ています...しかし、あなたが何を持っていないデータをコピーする危険性があるのかはわかりません。(thiはそうではありませんが、私は清潔な解決策を持っています):) – Stefano
でも...明らかにときどき動作しますが、いつかはそうではありません...おそらく同じ考え方には良い方法があります! – Stefano