Странная ошибка FileWriter

Я уже писал в файлы и никогда не сталкивался с этой проблемой, я совершенно сбит с толку.

РЕДАКТИРОВАТЬ: Извините, ошибка в том, что в файл.txt не записываются строки.

   System.out.println(upto); 
   FileWriter writer;
   BufferedWriter write;

   upto = 10;
    try{
    writer = new FileWriter(theFile);    
    write = new BufferedWriter(writer); 
    write.write(upto);
    write.flush();
    write.close();

    }catch(Exception e){
        System.err.println("cant print line");
    }

Это код, который выполняет запись в файл, единственный другой код объявляет путь к файлу. Не возникает ошибка исключения. Я удостоверился, что я смывал / закрывал писателя также. Может ли кто-нибудь помочь?

2 ответа

Решение

Вы печатаете символ 10, который является переводом строки. Если вы хотите напечатать число 10, попробуйте

write.write(String.valueOf(upto));

Вы пишете номер. Это означает, что вы пишете байты числа (0x0000000A), а не его символьное представление 10, Когда вы открываете его с помощью блокнота или чего-то подобного, он просто обнаруживает, что он не содержит печатных значений ASCII, и вы видите его только пустым.

использование write.write(Integer.toString(upto)) чтобы увидеть разницу.

Другие вопросы по тегам