2017-01-17 2 views
0

J'ai un octet que je veux stocker dans un document txt afin qu'il puisse être utilisé sur la ligne sans recréer l'octet.Enregistrement d'un octet dans un document txt à l'aide de PrintWriter

Je peux le faire en utilisant des chaînes simples, mais lorsque je tente de sauver l'octet il enregistre ceci:

[[email protected] 

est-il une autre façon que je peux coder l'octet pour que je puisse le charger de sauvegarder à nouveau et il va lire l'octet?

Voici mon code:

 public static byte[] tiles; 
     PrintWriter writer = new PrintWriter("mytxtdocument.txt", "UTF-8"); 
     writer.println("BYTE: " + mybyte); 
     writer.close(); 
+0

Montrez-nous comment vous déclarez 'mybyte'. –

+1

octet statique public [] mybyte; –

+0

Vous pouvez obtenir une amélioration des performances de cet ordre en enregistrant vos octets à l'aide d'un FileOutputStream et en utilisant write (byte []) répété pour chaque ligne – ControlAltDel

Répondre

1

Si vous souhaitez enregistrer un tableau d'octets:

public static byte[] tiles; 
//... 
//here you add some tiles 
//... 
PrintWriter writer = new PrintWriter("mytxtdocument.txt", "UTF-8"); 
for(int i = 0; i < tiles.length; i++) { 
     writer.println("BYTE: " + tiles[i]); 
} 
writer.close(); 
+1

Test maintenant :) –

+0

Cela fonctionne! Mais, en raison de la taille de mon octet, il y a maintenant 1.000.005 lignes dans mon document .txt (ne plaisante pas). –

+0

Pourrait être encore plus;) –

0

Sur la base de mon expérience, mybyte est probablement un byte[], correct? Dans ce cas, vous devez écrire vos octets un à la fois.

writer.print("BYTE: "); 
for (int i=0;i<mybyte.length;i++) { 
    writer.print("" + mybyte[i] + " "); 
} 
writer.println(""); 
+0

Cela fonctionne aussi! –