File.delete() 方法返回为false,原因是因为文件不存在或者被占用.
在debug查看后,大多数情况下是可以查到该文件的.所以问题一般都是出现在文件被占用的问题上.
所以为什么被占用呢?
像我,我就是因为文件流没有close()掉这种低级错误导致的.所以建议大家可以使用try(){}catch(){}关键字把输出流和输入流文件包裹在try中,这样它就会自动把文件关闭.
public void testFile(){
String inputFile = "your file with absolute path";
String writeFile = "your output file with absolute path";
try(//读取源文件
FileReader fileReader = new FileReader(inputFile);
//把original文件存到缓冲区
BufferedReader bufferedReader = new BufferedReader(fileReader);
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(writeFile))
) {
String str;
while ((str=bufferedReader.readLine())!=null){//每次读取文件一行内容
bufferedWriter.write(str);
}
//删除文件
File file = new File(inputFile);
file.delete();
} catch (IOException e) {
e.printStackTrace();
}
}