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. th
Might I suggest that you let Java do this for you?
Advantage: improved portability, saves the cost of an exec()
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\"")
Runtime.getRuntime().exec(new String[] { "sh", "-c", "gunzip *.gz" });
Use exec( String [] { cmd , arg1 , arg2...)
Here's a full example to get the result as a String : Link.
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*" });