I have done my .java file that changes registry data. But I am getting \"illegal escape character\" error on the line where Runtime.getRuntime().exec exists. Wh
You need to escape \ with another \, so replace \ with \\ in your input string.
You need to escape the backslashes used in your path.
String windowsPath = "\\Users\\FunkyGuy\\My Documents\\Hello.txt";
You need to escape the backslash characters in your registry path string:
"REG ADD `HKCU\\Software\\ ...
The backslash character has a special meaning in strings: it's used to introduce escape characters. if you want to use it literally in a string, then you'll need to escape it, by using a double-backslash.
Probably because you didn't escape the backslash in your string. Have a look at http://docs.oracle.com/javase/tutorial/java/data/characters.html for more information about proper escaping.
you need replace escape \ with \\
below code will work
Runtime.getRuntime().exec("REG ADD 'HKCU\\Software\\Microsoft\\Internet Explorer\\Main' /V 'Start Page' /D 'http://www.stackoverflow.com/' /F");
Back slashes in Java are special "escape" characters, they provide the ability to include things like tabs \t and/or new lines \n and lots of other fun stuff.
Needless to say, you to to "escape" them as well by adding an addition \ character...
'HKCU\\Software\\Microsoft\\Internet Explorer\\Main'
On a side note. I would use ProcessBuilder or at the very least, the version of Runtime#exec that uses array arguments.
It will save a lot of hassle when it comes to dealing with spaces within command parameters, IMHO