私は、時間を稼ぐために多くのことを行う一連のアクションを自動化している最中です。これには、ファイルの移動といくつかのバッチの開始が含まれます。
この特定の状況で、ある場所から別の場所にファイルをコピーしようとしています。ATOMIC_MOVE
コピーオプションを使用しようとするまで、すべて正常に動作します。これは私のコードです:
private void copyToDropFolder(Datafile datafile, String company) throws IOException{
Path datafilePath = datafile.getDataPath();
String dropFolder = locations.getLocationFor("default");
Path dropPath = Paths.get(dropFolder, company.toUpperCase(),locations.getLocationFor("drop"), datafile.getFileName());
Files.copy(datafilePath, dropPath, StandardCopyOption.ATOMIC_MOVE);
}
datafilePath と dropPath の場所を確認して解決しましたが、どちらも有効です。他の 2 つの標準コピー オプションを試しましたが、プログラムは正常に動作します。それはATOMIC_MOVE
私が得るためだけですUnsupportedOperationException
。その特定のオプションが絶対に必要というわけではありませんが、なぜ機能しないのか興味があります。この問題に関する他のレポートを実際に見つけることはできません。私はこれをWindows 7マシンで行っています。
何か不足していますか?それともATOMIC_MOVE
サポートされていないだけですか?