\n ne fonctionne pas, ne va pas à une nouvelle ligne
Je crée un petit programme qui enregistre une valeur int dans un fichier texte, l'enregistre et la charge lorsque vous démarrez le programme à nouveau. Maintenant, j'ai besoin de plus de 3 booléen pour être stockés dans le fichier texte, je suis en train d'écrire des choses dans le fichier avec
public Formatter x;
x.format("%s", "" + m.getPoints() + "\n");
Chaque fois que je veux aller sur une nouvelle ligne dans mon fichier texte, avec des \n, il l'habitude de passer à une nouvelle ligne, il suffit d'écrire directement derrière la valeur int. J'ai essayé de faire les deux
x.format("%s", "" + m.getPoints() + "\n");
x.format("%s", "" + m.getStoreItem1Bought() + "\n");
et
x.format("%s%s", "" + m.getPoints() + "\n", "" + m.getBought() + "\n");
mais, les deux seront il suffit d'écrire le booléen directement derrière l'int valeur, sans commencer une nouvelle ligne. Toute aide à ce sujet?
Je suis avec Windows 7 Ultime 64 bits, et mon éditeur de texte est Eclipse, je suis en cours d'exécution tout le code avec Eclipse.
\n
va insérer un saut de ligne, plutôt que de la dépend du système de séparateur de ligne. Sur Windows c'est un retour chariot suivi par un saut de ligne. Que peut faire apparaître comme si il n'y a rien entre les deuxDroit, mais il y a juste quelques programmes nécessitant
\r\n
et tous, j'ai rencontré montre lone \n
comme une boîte comme le personnage (qui n'est pas le comportement décrit).Mise à jour de l'OP.
Bizarre. Je suis à l'aide d'Eclipse sous Windows XP et il fonctionne très bien avec
\n
seulement.C'est peut-être mon code autour d'elle, si, je suis un nouveau codeur de faire plein de petites erreurs. Mais, je l'ai eu à travailler maintenant.
OriginalL'auteur Stan | 2011-05-06
Vous devez vous connecter pour publier un commentaire.
Plus précisément, je vous conseille d'utiliser:
x.format((Local)(null), "%d%n%s%n", m.getPoints(), m.getStoreItem1Bought());
. La premièrenull
argument permettra d'éviter toute localisation d'être appliquée.Cela a fonctionné, placé sur une nouvelle ligne, merci à tous pour votre aide les gars.
OriginalL'auteur Nathan Ryan
Utiliser ce lieu:
À la fois de ce travail d'options. Votre problème est dans la façon dont vous le format de sortie:
De sortie:
Cela devrait vraiment travailler. Sauf si vous faites de la sortie, dans la classe d'initialisation avant de
newline
est affectée.de vérifier comment l'utiliser. J'ai mis à jour la réponse
OriginalL'auteur Aleadam
Essayez d'utiliser
%n
au lieu de\n
lors de l'utilisation de format. Pour plus de détails, veuillez voir les Formateur API et de recherche de cette page pour le "séparateur de ligne" et vous verrez.Mon mauvais. Je pensais que vous étiez à l'aide d'une variante de la classe de Formatage telles que " est utilisé avec PrintStream printf méthode.
Cela ne fonctionne que pour
%n
dans la chaîne de format partie de laFormatter.format
méthode, pas dans les arguments.yep. Je vais supprimer cette réponse bientôt et ont voté les autres de meilleures réponses.
Je ne pense PAS que votre réponse doit être supprimé! C'est la plus saine façon de traiter avec la nouvelle ligne de la folie (d'ailleurs complètement ignorant, qui n'est pas toujours le cas). Mon commentaire était juste une note d'utilisation de l'OP, pas une critique de votre réponse.
OriginalL'auteur Hovercraft Full Of Eels
Pas de problème ici:
Bien que je visez plutôt, pour intégrer le \n dans la Chaîne de format, pas de les valeurs:
L'Aide Du Formateur.format fonctionne de la même.
Dépend de ce que vous aimez faire avec le produit. Si vous avez besoin d'un "\n", utilisez "\n", si vous avez besoin d'un portable de sortie, utiliser "%n". Des éditeurs modernes (sauf le bloc-notes, ce qui n'est pas moderne) souvent peut gérer à la fois les formes d'entrée.
OriginalL'auteur user unknown
Bien votre syntaxe est certainement très ... intéressant. Pourquoi utiliser la méthode de formatage si vous êtes simplement un morceau de la chaîne d'ensemble de toute façon? Aussi, puisque vous nulle part dire ce flux que vous utilisez, nous avons à deviner un peu, mais, de toute façon.
De toute façon je parie que 1. vous utilisez windows et 2. que l'éditeur (je parie sur le bloc-notes) que vous utilisez ne réagit à \r\n puisque c'est le bon retour à la ligne pour Windows. Pour résoudre ce NE PAS coder en dur \r\n dans votre code, mais au lieu d'utiliser %n et utiliser la fonction printf correctement (c'est à dire ne pas pièce de la la chaîne!).
Sinon, si vous avez vraiment de morceau de la chaîne:
fonctionne.
OriginalL'auteur Voo