java Runtime.getRunTime().exec & wildcards?

i'm trying to remove junk files by using

Process p = Runtime.getRuntime().exec();

it works fine as long as i do not use wildcards, i.e. this works:

Process p = Runtime.getRuntime().exec("/bin/rm -f specificJunkFile.java");

while the following throws back "No such file or directory":

Process p = Runtime.getRuntime().exec("/bin/rm -f *.java");

i should be able to do all the nice things as outlined here, right?


After a lot of searching I found this: http://www.coderanch.com/t/423573/java/java/Passing-wilcard-Runtime-exec-command

Runtime.exec(new String[] { "sh", "-c", "rm /tmp/ABC*" });

Those are Bash wildcards. They are interpreted within the Bash shell. You are running rm directly, so there is no shell to interpret the * as 'all files'.

You could use bash as the command. e.g.:

Runtime.getRuntime().exec("/path-to/bash -c \"rm *.foo\"")