java 文件删除失败(被进程占用)

解决方案:

  1. 系统进行资源强制回收//System.gc();{不建议使用}

  2. 关闭流(未及时关闭会内存溢出)


 问题--- 文件删除失败

             (后来发现是被进程占用)

 发现问题--第一次测试10个文件上传成功8个,第二次测试还有10个文件

解决思路:1.查看代码 file.delete();删除失败

                 2.查看是否有流未关闭(大致看了下没有使用流直接调用一工具)

                 3.手动删除提示被Java se进程占用(因为这是个批处理,我以为这是个进程!!!)

                 4.代码添加如果删除失败就强制垃圾回收,文件删除成功

       这也是小编这一次碰到这样的情况,所以没管什么遗留问题只要满足现状就行,惭愧 啊    

    偶然一次跟我们架构师聊到了这件事,他说垃圾强制回收尽量不要手动这个是jvm的工做,他说这种情况一般不会发生肯定是没有关闭流,小编回来就一行一行的过代码,果然在一不显然处引用了流,流未关闭  (想死的心都有了)....万幸的是,还好在上生产环境前发现了并解决了这个问题,不然得埋多大的坑(录音文件一天的量很大)

              1)关流 

              2)测试  (删除成功)

             

总结:一定要细心,代码容不得半点马虎

 


   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章