gpt4 book ai didi

java - 无法使用 file.delete() 删除文件

转载 作者:行者123 更新时间:2023-12-01 19:17:17 25 4
gpt4 key购买 nike

我无法删除我的文件,我已查看此处但找不到答案。我有权删除文件,文件存在。下面是一个包含删除文件方法的类

public boolean deleteFile(String filePath)
{

File fileToDelete = new File(filePath);
System.out.println("In delete file(): "+fileToDelete.exists());
boolean deleted = fileToDelete.delete();
return deleted;

}

我有一个按钮,它有一个 Action 监听器,可以根据常量字符串文件路径删除文件。

STFile file = new STFile();
System.out.println("Deleting from"+STMain.TITLES_PATH+""+file.deleteFile(STMain.TITLES_PATH));


public static final String TITLES_PATH = System.getProperty("user.dir")+"\\titlesPath.txt";
public static final String IMAGES_PATH = System.getProperty("user.dir")+"\\imagesPath.txt";
public static final String SOUNDS_PATH = System.getProperty("user.dir")+"\\soundPath.txt";

文件存在并且目录存在,我可以知道是什么阻止我删除它们吗?是因为我有一个文件输出流吗?但我把它们关闭了,顺便说一句,qnsTitle,qnsImagePath,qnsSoundPath都是包含字符串的数组列表。

public void writeFiles()
{
FileOutputStream f_out = null;
ObjectOutputStream obj_out = null;
try {
f_out = new FileOutputStream(STMain.TITLES_PATH);
obj_out = new ObjectOutputStream (f_out);
obj_out.writeObject(qnsTitle);
f_out.close();
f_out = new FileOutputStream(STMain.IMAGES_PATH);
obj_out = new ObjectOutputStream (f_out);
obj_out.writeObject(qnsImagePath);
f_out.close();
f_out = new FileOutputStream(STMain.SOUNDS_PATH);
obj_out = new ObjectOutputStream (f_out);
obj_out.writeObject(qnsSoundPath);
f_out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

最佳答案

在 writeFiles() 方法中,将 close() 写入finally block 中,以便保证它被执行。

关于java - 无法使用 file.delete() 删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6056501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com