需求是這樣的, 在服務(wù)器上有 運(yùn)營上傳的zip 包,內(nèi)容是用戶的照片,我需要做的是 獲取這些照片上傳,并保存到 數(shù)據(jù)庫。 這里面的 上傳照片,保存數(shù)據(jù)庫都不難,主要問題是解壓zip包,和刪除zip 包,以及 解壓后的文件。
之前在網(wǎng)上找的解壓的文件的代碼,都存在同一個(gè)問題,就是解壓之后,無法刪除 zip 包。查百度說是 資源占用,可是我已經(jīng)把所有的流都關(guān)閉了哇。
我把解壓和刪除分成兩部分用 jUnit 測試: 第一次測試解壓,并不刪除包;第二次只刪除包。我發(fā)現(xiàn),解壓方法和刪除方法在同一個(gè)test 里面測試的話,zip 包刪不掉,要是單獨(dú)一個(gè)test 測試刪除方法的話,zip 包是可以刪除的??偨Y(jié)一下,在同一個(gè)線程里面 解壓之后包刪不掉。這肯定是資源在占用中。
我在代碼里面加了個(gè)垃圾回收(System.gc();),依然不行...
我仍然不放棄,還是在 百度上找代碼,看看別人有沒有遇到這樣的問題,我看了好多,也測試了好多代碼,發(fā)現(xiàn)博客好多都是復(fù)制的,或許是其他人看了這個(gè)博客解決了問題,然后自己 不想總結(jié),于是乎,就把 這個(gè)博客 復(fù)制到自己的 博客里,這雖然省事了,但畢竟不是自己的原創(chuàng) ,我是一個(gè)支持原創(chuàng)的人。(雖然我可能也有復(fù)制過,但是我沒有發(fā)布哇)。看了這么多 依然不行。突然我的扣扣亮了一下,老大發(fā)來一張圖片。
果然精辟呀,加上去之后E盤的文件真的消失了。。