J'ai un petit problème dans l'écriture de fichiers en Java. J'ai créé un nouveau fichier en utilisant File f = new File(path);
et un BufferedWriter
qui écrit dans ce fichier. Et un int i = 1;
Maintenant, l'écrivain tamponné (écrivain de fichier) doit écrire l'int i dans le fichier mais il ne le fait pas, il écrit CUBES! Comme celui-ci ■. Et lorsque le scanner lit le fichier, il lit ce cube, et une erreur se produit,Java - Buffered Writer écrit des cubes Non int
Voici un exemple:
int i = 1;
File f = new File(path);
BufferedWriter bw = new BufferedWriter(new FileWriter(f));
bw.write(i);
int b = 0;
Scanner s = new Scanner(new FileReader(f));
b = s.nextInt();
//end
Mais pour une raison quelconque, il écrit un cube ■ pas numéro 1, et c'est pourquoi scanner ne peux pas le lire.
Des idées pourquoi cela se passe-t-il? -Merci pour aider. ■
Avez-vous pris la peine de * lire * le fichier javadoc de ['BufferedWriter.write (int c)'] (https://docs.oracle.com/javase/8/docs/api/java/io/BufferedWriter. html # write-int-) méthode que vous appelez? Il dit: * Écrit un seul caractère. * Il n'écrit pas le nombre en utilisant base-10 décimales. Pour cela, vous devez utiliser un 'PrintWriter' et appeler [' print (int i) '] (https://docs.oracle.com/javase/8/docs/api/java/io/PrintWriter.html#print- int-). – Andreas
@Andreas Question bonus: Si vous vouliez réellement écrire un numéro de base 10, quel code de caractères utiliseriez-vous (pas que je le recommande)? –