Некорректная запись данных в файл с помощью writeInt

160
07 марта 2019, 17:30

Помогите пожалуйста, использую writeInt для записи длины массива в текстовый документ, но в блокноте число не отображается (символ пустого квадрата)

public static void outputPupils(Pupil v, OutputStream out) throws IOException {
    DataOutputStream stream = new DataOutputStream(out);
    stream.writeInt(v.getSecn().length());
    stream.close();
}

мэйн:

 OutputStream fout = new FileOutputStream("C:\\Users\\Sfroe\\Desktop\\output.txt");
 Pupils.outputPupils(sb, fout);

getSecn возвращает фамилию студента.

Answer 1

DataOutputStream.writeInt записывает в поток байтовое представление числа. Например, если в метод передать 10, то будут записаны четыре байта: три нулевых, а последний 00001010.

Для того чтобы число можно было прочитать в текстовом редакторе нужно, чтобы в файле были записаны символы. Например, для 10 должны быть закодированы символы «1» и «0». Сделать это можно через writeBytes, преобразовав число в строку:

 stream.writeBytes(v.getSecn().length()+"");
Answer 2

В параметре false - файл будет перезаписываться

public static void outputPupils(Pupil v, String path) throws IOException {
     FileWriter fout = new FileWriter(path, false);
     writer.write(v.getSecn().length());        
     writer.flush();
}

мэйн:

 String path = "ваш путь";
 Pupils.outputPupils(sb, path);
READ ALSO
Скорость загрузки классов Java

Скорость загрузки классов Java

Использую в проекте Spring и Hibernate, разные ServiceDAO, осуществляющие доступ к данным, имеют уже порядка 30 методов, мне стало интересно, стоит ли их разбивать...

171
Заблокированные Packages в Eclipse

Заблокированные Packages в Eclipse

Сталкиваюсь с такой проблемойВременами когда я гружу проекты с war файла в Eclipse, Packages не открываются в "Название проекта/Java Resources/src" С чем это...

153
Литералы - константы?

Литералы - константы?

В Java литералы применяются для представления постоянных значений в форме, удобной для восприятияНапример, число 100 является литералом

143
Сборка ресурсов проекта в jar Gradle

Сборка ресурсов проекта в jar Gradle

Собираю проект с помощью GradleПри этом из resources в jar входит только META-INF

151