我無法刪除我的文件,我看了這裏,但無法找到答案。 我有權刪除文件時,文件exist.Below是包含一個方法刪除文件無法刪除文件使用file.delete()
public boolean deleteFile(String filePath)
{
File fileToDelete = new File(filePath);
System.out.println("In delete file(): "+fileToDelete.exists());
boolean deleted = fileToDelete.delete();
return deleted;
}
類和我有一個按鈕,有一個動作監聽刪除文件基於一個常量字符串文件路徑。
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";
文件存在和目錄存在,我可以知道是什麼阻止我刪除它們嗎? 是因爲我有一個fileoutputstream?但我有他們關閉,順便說一句qnsTitle,qnsImagePath,qnsSoundPath都是包含字符串的arraylist。
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();
}
}
您可能沒有權限修改包含文件的目錄的內容。你有目錄的寫權限嗎?你可以用File類創建目錄對象並檢查isWritable()嗎?請在這裏例外,以便我們找出問題所在。 – 2011-05-19 09:30:06
STMain.TITLESPATH的答案是指它顯示哪條路徑。你能在這裏粘貼路徑嗎? – Ankit 2011-05-19 09:33:50
當我運行該方法時沒有拋出異常,它只是不斷返回false。 – sutoL 2011-05-20 01:02:30