Java et Windows - erreur: illégal caractère d'échappement
J'ai fait de mon .fichier java qui change les données du registre. Mais je suis "illégal caractère d'échappement" erreur sur la ligne où Runtime.getRuntime().exec
existe. Où est mon erreur ?
import java.util.*;
import java.applet.Applet;
import java.awt.*;
class test {
public static void main(String args[]) {
try {
Runtime.getRuntime().exec("REG ADD 'HKCU\Software\Microsoft\Internet Explorer\Main' /V 'Start Page' /D 'http://www.stackoverflow.com/' /F");
} catch (Exception e) {
System.out.println("Error ocured!");
}
}
}
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin pour échapper à la barres obliques inverses utilisé dans votre chemin.
Vous avez besoin pour échapper à
\
avec un autre\
, afin de remplacer\
avec\\
dans votre chaîne d'entrée.Vous avez besoin d'échapper les caractères barre oblique inverse dans votre chemin d'accès du registre de la chaîne:
Le caractère barre oblique inverse a une signification spéciale dans les cordes: il est utilisé pour introduire des caractères d'échappement. si vous voulez l'utiliser littéralement dans une chaîne de caractères, alors vous aurez besoin pour échapper à il, en utilisant une double barre oblique inverse.
Des barres obliques inverses en Java sont spécial "s'échapper" des personnages, ils offrent la possibilité d'inclure des choses comme les onglets
\t
et/ou de nouvelles lignes\n
et beaucoup d'autres choses amusantes.Inutile de dire que vous "échapper" aussi bien par l'ajout d'un plus
\
caractère...Sur une note de côté. Je voudrais utiliser ProcessBuilder ou à tout le moins, la version de
Runtime#exec
qui utilise des arguments de type tableau.Il vous fera économiser un tas de tracas quand il s'agit de traiter avec des espaces à l'intérieur des paramètres de commande, à mon humble avis
Probablement parce que vous n'avez pas à échapper à la barre oblique inverse dans votre chaîne. Jetez un oeil à http://docs.oracle.com/javase/tutorial/java/data/characters.html pour plus d'informations sur la bonne façon de s'échapper.
vous avez besoin de remplacer échapper
\
avec\\
ci-dessous code du travail