У меня есть небольшая проблема при написании файлов на Java.Java - Буферизованный Writer пишет кубы Не int
Я создал новый файл, используя File f = new File(path);
и a BufferedWriter
, который пишет в этот файл. И один int i = 1;
Теперь буферизованный писатель (файловый писатель) должен написать int i в файл , но он этого не делает, он пишет CUBES! Подобно этому. И Когда сканер считывает файл, он читает этот куб, и ошибка происходит,
Вот пример:
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
Но по какой-то причине он пишет куб ■ не номер 1, и вот почему сканер не может прочитать его.
Любые идеи, почему это происходит? -Спасибо за помощь. ■
Вы потрудились * прочитать * javadoc ['BufferedWriter.write (int c)'] (https://docs.oracle.com/javase/8/docs/api/java/io/BufferedWriter. html # write-int-) метод, который вы вызываете? В нем написано: * Записывает один символ. * Он не записывает число с десятичными знаками base-10. Для этого вы должны использовать «PrintWriter» и вызывать ['print (int i)'] (https://docs.oracle.com/javase/8/docs/api/java/io/PrintWriter.html#print- int-). – Andreas
@ Andreas Bonus question: Если вы действительно хотели написать номер базы 10, какой код символа вы бы использовали (не то, что я рекомендую это)? –