2016-07-23 168 views
0

我,而在這種情況下使用Java 7 NIO.Files class.Files.move更改文件權限

我必須用不同大小的5個純文本文件執行一些操作,從20KB到23MB有問題。

一旦文件被接受,我將它們複製到一個臨時文件夾與此:

Files.copy(originalPath, tempPath, StandardCopyOption.REPLACE_EXISTING); 

的操作完成,但該23MB的文件曾在複製一個變化的特權:我注意到,試圖手動刪除文件,在原來的一個沒有額外的特權是必需的,但在複製一個Windows引發一個彈出窗口要求您的管理員權限......這隻發生在23MB,較小的保持與原始相同的特權。

的問題顯示了我,當我嘗試刪除用這種方法複製23MB的文件:

boolean isDeleted = Files.delete(tempPathOf23MBFile); 

操作是不例外執行並請將isDeleted被指派爲真,但23MB的文件遺體在文件夾中......後來當我嘗試用相同的方法擦除文件夾時,它引發了一個異常,因爲該文件夾不是空的... 最奇怪的是,當我關閉Eclipse時,23MB文件消失了!

我試圖用File.deleteFiles.deleteIFExists執行相同的任務,發生同樣的情況。

通過這個論壇,我發現它可能是一個資源泄漏...所以我已經審查了所有的緩衝區和一切,他們在刪除的時刻被關閉......絕望,我已經分配所有的對象我在刪除的時刻爲空(我用調試勾選了所有對象)......但沒有成功,問題仍然存在!

你能幫我嗎? 是我所關注的是,在操作事項文件的大小,因爲理想情況下,它應該與任何尺寸來完成,甚至更大的是23MB

回答