我在Windows上有三個目錄A,B & C.我有一個存在於目錄A.文件我想執行下列任務無法刪除java中的文件,因爲它在Java平臺SE二進制文件中打開
- 將其複製到目錄中乙
- 從目錄中的刪除(這工作,因爲該文件沒有舉行任何處理)
- 將其複製到目錄ç
- 從目錄中乙將其刪除(不工作)
步驟1,2,3做工精細,但它不與步驟4的文件是否存在,並能編寫工作,閱讀,執行。當我打開Windows資源管理器並嘗試手動刪除目錄B中的文件時,它表示該操作無法完成,因爲它在java平臺SE二進制文件中打開。下面是我的代碼複製文件
FileInputStream in = new FileInputStream(source);
FileOutputStream out = new FileOutputStream(dest);
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
in.close();
out.close();
我正在使用Java 6.你知道我可以如何完成第4步?
如果您只是在最後一步刪除它,將它複製到目錄B有什麼用處? –
看看這個:http://stackoverflow.com/questions/991489/i-cant-delete-a-file-in-java – kol
如果A,B和C都在同一個文件系統中,爲什麼不使用重命名而不是其中一個複製步驟? – EJP