2 votes

FileOutputStream formatage?

Je suis en train de construire ma première application Android. Je collecte 3 champs simples de données et je les enverrai par e-mail à un utilisateur.

J'ai l'application en marche, je peux collecter et afficher les données à l'écran et je peux également les envoyer par e-mail. Mais les données sont simplement mises sur une seule ligne de texte sans espaces.

Je suis en train d'utiliser FileOutputStream pour écrire les données et j'ai ajouté du texte dans le flux pour séparer les données... mais ce ne semble pas être la meilleure manière de faire ? Que devrais-je faire ? Ci-dessous un exemple avec 2 de mes champs et une chaîne de texte statique.

Ça sort comme ça Balls: 22 J'aimerais donc qu'il y ait des espaces ou des en-têtes. Je suppose que je pourrais ajouter fos.write(" ".getBytes()); pour ajouter un espace ?

Merci

  FileOutputStream fos = v.getContext().openFileOutput(file_name, MODE_PRIVATE);

                fos.write("Balls: ".getBytes());
                fos.write(balls.getBytes());
                fos.write(strikes.getBytes());
                fos.close();

1voto

Carsten Hagemann Points 323

Pourquoi ne pas simplement construire d'abord la chaîne de caractères, puis appeler getBytes() sur la chaîne résultante et la passer à fos.write() ?

Exemple :

FileOutputStream fos = v.getContext().openFileOutput(file_name, MODE_PRIVATE);
String bigstring = "Balles : " + balles + " Striés : " + strikes;
            fos.write(bigstring.getBytes());
            fos.close();

Si vous souhaitez insérer un saut de ligne dans la chaîne de caractères, vous pouvez le faire en concaténant un caractère de nouvelle ligne dedans.

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