Runtime.getRuntime().exec()
java, runtime.exec
Solution
Are you familiar with the `exec` double-quotes bug? (for `Runtime.exec` or `ProcessBuilder`)
You can try:
Runtime.getRuntime().exec(new String[] {
"\"C:/Program Files/MySQL/MySQL Server 5.0/bin/mysqldump\"",
"-h",
hostName+user+databaseName});
Just make sure none of your parameters you will have to pass contains double quotes (while not beginning with double quotes) (see bug 6511002)
Any parameter like:
mykey="my value with space"
would be changed internally (by the `getRuntime()` implementation) into
"mykey="myvalue with space""
If that is the case, you would need to tokenize the argument:
{"mykey=\"my\"" , "\"value with space\""}
Problem
I can not read a file only when database name contains like (new database (myid) etc. I give a following example code: ``` dumpCommand = "C:/Program Files/MySQL/MySQL Server 5.0/bin/mysqldump -h"+hostName+user+databaseName; Runtime rt = Runtime.getRuntime(); Process proc = rt.exec(dumpCommand); InputStream in = proc.getInputStream(); BufferedReader br=new BufferedReader(new InputStreamReader(in)); String line =null; while((line=br.readLine())!=null) { //able to read line only when database name like abc,datastore etc... System.out.println(line); } ``` Suppose my database name de mo means when I print line I got database name like de only. Is possible when database name with empty space?