ПРИМЕЧАНИЕ. Несмотря на вызов файла myfile.txt
, это двоичный файл, а не текстовый формат, поэтому нельзя ожидать, что он будет прочитан как текст, например, в текстовом редакторе, и увидите краткое значение.
Этоработает нормально, если вы закрываете файл и читаете его так же, как он был написан.
try (DataOutputStream dataOut = new DataOutputStream(new FileOutputStream("myfile.txt"))) {
dataOut.writeUTF("HEY"); // write HEY
dataOut.writeShort(1);
}
try (DataInputStream dataIn = new DataInputStream(new FileInputStream("myfile.txt"))) {
System.out.println("string: " + dataIn.readUTF());
System.out.println("short: " + dataIn.readShort());
}
печатает
string: HEY
short: 1
Скорее всего, вы ожидаете, что файл будет текстовым.
try (PrintWriter dataOut = new PrintWriter(new FileOutputStream("myfile.txt"))) {
dataOut.println("HEY"); // write HEY
dataOut.println(1);
}
try (Scanner dataIn = new Scanner(new FileInputStream("myfile.txt"))) {
System.out.println("string: " + dataIn.nextLine());
System.out.println("short: " + dataIn.nextShort());
}
печатает
string: HEY
short: 1
, и файл содержит
HEY
1