Les guillemets dans les arguments de ligne de commande passé à Java main()
Je exécuter un programme Java avec la ligne de commande suivante (Edit: dans NetBeans 6.8 propriétés du projet)
toto has:"tutu titi"
args est un tableau de 2 Chaînes
toto
has:tutu titi
Je veux (deux arguments en effet, la deuxième) args[1]
être
has:"tutu titi"
Comment dois-je faire?
Edit: j'ai déjà essayé d'échapper les guillemets avec barre oblique inverse à partir des "Arguments" de la ligne dans Netbeans propject propriétés, mais j'ai args[1]
has:\tutu titi\
OriginalL'auteur rds | 2010-10-18
Vous devez vous connecter pour publier un commentaire.
J'ai eu un problème similaire dans NetBeans et a trouvé la solution:
Modifier/Ajouter la propriété "de l'application.args" dans votre privé.propriétés:
Guillemets simples pour marquer votre "argument" et deux guillemets doubles pour définir l'un des "guillemets".
OriginalL'auteur Nigjo
Cela dépend vraiment de votre shell. Vous n'avez pas dit quel système d'exploitation que vous utilisez. Par exemple, sur Windows cela fonctionne:
Je crois que la même chose va travailler dans bash, trop.
Mais si vous vous demandez ce que vous pouvez faire dans Java pour résoudre ce problème: rien. Le shell va avoir analysé la ligne de commande avant que le processus a été invoqué, et vous ne pouvez pas annuler cette analyse.
OriginalL'auteur Jon Skeet
Utilisation
Il est quand vous avez échappé à la citations.
OriginalL'auteur Riduidel
Si l'ajout de NetBeans (7.1.2) Configuration/Arguments boîte de dialogue champ, un seul devis extérieure et une échappé à double guillemet à l'intérieur fonctionné pour moi par exemple:
OriginalL'auteur parmres
Cela a été reconnu par netbeans comme un bug ne sera pas corrigé!
Et pourtant, il a accepté de répondre à la question...
je pense que c'est le lien [lien]netbeans.org/bugzilla/show_bug.cgi?id=191254
OriginalL'auteur sttaq