Forums Register Login

File Deletion

+Pie Number of slices to send: Send
Hi all,

I am using following to delete all files that exist in "abc" directory.

void delete() {

final File logDir = new File("abc");
final File[] listOfFiles = logDir.listFiles();
for(File file : listOfFiles) {
if(file.isFile()) {
file.delete();
}
}
}

But nothing is get deleted.
Can you tell me where is the problem?
+Pie Number of slices to send: Send
The code looks good; you need to trace it and see what it's doing, mostly to find out if it's actually finding the files you expect it to find. You could run it under a debugger, or just add a print statement:



and then see what the output is!
+Pie Number of slices to send: Send
hi Ernest Friedman-Hill ,
Tahnk you for quick reply.

Well i tried the same and getting this-

Tried to delete abc\file1 result = false
Tried to delete abc\file2 result = false

Now what?
+Pie Number of slices to send: Send
The "getAbsolutePath()" should have printed the entire path from the root. Are those exactly the files you expected it to find?

If so, then the "false" means that the JVM tried and failed to deleted the files. It could be a permissions issue, or you could be on Windows, where deleting an open file will fail. Since you said this is a log file directory, maybe you're trying to delete log files that are currently in use? You can't do that on Windows; you have to make sure the files are closed, first.
Good heavens! What have you done! Here, try to fix it with this tiny ad:
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com


reply
reply
This thread has been viewed 902 times.
Similar Threads
How Do I completely Empty My DIrectory?
KeyTool -genkeypair gives exception - "Keystore file exists, but is empty"
About for loop of jdk1.5
File sepearator for unix/windows problem
How to get all files in a subdirectory of a webpage
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 28, 2024 20:24:39.