104 votes

Équivalent en Java des chaînes in extenso de C # avec @

Question rapide. Existe-t-il un équivalent de @ appliqué aux chaînes en Java:

Par exemple, je peux faire @"c:\afolder\afile" en C # et lui faire ignorer les caractères d'échappement lors du traitement au lieu de devoir faire "c:\\afolder\\aFile" . Existe-t-il un équivalent Java?

hmmm: stackoverflow s'échappe sur moi .. lol. Le deuxième exemple devrait se lire comme suit:

c: (double-backslash) un dossier (double-backslash) aFile

78voto

Kent Boogaart Points 97432

Non Échapper / externaliser la chaîne est votre seul choix.

35voto

Jon Skeet Points 692016

Non, Java n'a pas de littéraux de chaîne textuels .

Si vous voulez un langage de type Java (et Java-VM) qui fait, cependant, vous voudrez peut - être regarder Groovy qui a diverses formes de chaîne littérale .

16voto

CPerkins Points 5209

Kent et Jon ont dit, non il n'y en a pas.

Je suis en répondant simplement à souligner que même si il n'y avait, pour votre cas particulier, il serait une mauvaise idée dans le cas général, en supposant un plus d'un programme de compensation.

Les programmes Java fonctionner sur plusieurs plates-formes que Windows, et d'autres plates-formes ont de fichiers différents délimiteurs. Donc, au lieu de traiter avec échappé barres obliques inverses, la bonne façon de gérer votre exemple particulier est par l'obtention du fichier séparateur de propriété:


    String sep = System.getProperty("file.separator");
    String filename = ROOTDIR + sep + "folder" + sep + "afile";

Où vous auriez séparément créé ROOTDIR basé sur une politique - et pas seulement de la plate-forme, mais si vous voulez que votre "afile" de l'être par rapport à la réelle système de fichiers racine, ou relatif au répertoire home de l'utilisateur.

Mais certainement, en utilisant le séparateur de fichiers de la propriété rend vos programmes plus largement utilisable. Est-il plus de travail? Oui. Comme Wanda Sykes dit, "Mais il en vaut la peine".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X