java文件刪除不了File類(lèi)的delete方法刪不掉文件的原因以及分析
java文件刪除不了File類(lèi)的delete方法刪不掉文件
File directory = null;
String path = tempPath + File.separator + fileName;
directory = new File(path);
if(!directory.exists()){
directory.mkdirs();
}
Writer out = null;
FileOutputStream fos = null;
//這個(gè)地方對(duì)流的編碼不可或缺,使用main()單獨(dú)調(diào)用時(shí),應(yīng)該可以,但是如果是web請(qǐng)求導(dǎo)出時(shí)導(dǎo)出后word文檔就會(huì)打不開(kāi),并且包XML文件錯(cuò)誤。主要是編碼格式不正確,無(wú)法解析。
//out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile)));
for (int i = 0; i < dataMapList.size(); i++) {
File outFile = new File(path+File.separator+fileName+System.currentTimeMillis() + ".doc");
if (!outFile.exists()) {
outFile.createNewFile();
}
fos = new FileOutputStream(outFile);
OutputStreamWriter oWriter = new OutputStreamWriter(fos, "UTF-8");
out = new BufferedWriter(oWriter);
t.process(dataMapList.get(i), out);
}
out.close();
fos.close();流雖然在循環(huán)外關(guān)閉了,但是多個(gè)文件會(huì)導(dǎo)致只能刪除最后一個(gè)文件,應(yīng)該將close 放在循環(huán)內(nèi)
java.io.File刪除被占用的文件問(wèn)題
while (file.exists()) {
System.gc();
file.delete();
}總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringCloud學(xué)習(xí)筆記之SpringCloud搭建父工程的過(guò)程圖解
SpringCloud是分布式微服務(wù)架構(gòu)的一站式解決方案,十多種微服務(wù)架構(gòu)落地技術(shù)的集合體,俗稱(chēng)微服務(wù)全家桶,這篇文章主要介紹了SpringCloud學(xué)習(xí)筆記(一)搭建父工程,需要的朋友可以參考下2021-10-10
java HashMap和HashTable的區(qū)別詳解
這篇文章主要介紹了java HashMap和HashTable的區(qū)別詳解的相關(guān)資料,需要的朋友可以參考下2016-12-12
java中使用POI生成Excel并導(dǎo)出過(guò)程
這篇文章主要介紹了java中使用POI生成Excel并導(dǎo)出過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03
Java中ReUtil正則表達(dá)式工具庫(kù)的使用
ReUtil是Hutool庫(kù)中的正則表達(dá)式工具類(lèi),提供了多種常用正則表達(dá)式操作方法,下面就來(lái)介紹一下ReUtil的使用,具有一定的參考價(jià)值,感興趣的可以了解一下2025-02-02
淺談java String.split丟失結(jié)尾空字符串的問(wèn)題
下面小編就為大家?guī)?lái)一篇淺談java String.split丟失結(jié)尾空字符串的問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02
Java對(duì)象級(jí)別與類(lèi)級(jí)別的同步鎖synchronized語(yǔ)法示例
這篇文章主要為大家介紹了Java對(duì)象級(jí)別與類(lèi)級(jí)別的同步鎖synchronized語(yǔ)法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-03-03
SpringBoot集成echarts實(shí)現(xiàn)k線(xiàn)圖功能
ECharts是一款基于JavaScript的數(shù)據(jù)可視化圖表庫(kù),提供直觀,生動(dòng),可交互,可個(gè)性化定制的數(shù)據(jù)可視化圖表,本文給大家介紹了SpringBoot集成echarts實(shí)現(xiàn)k線(xiàn)圖功能,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下2024-07-07

