Я пытаюсь написать шестнадцатеричный редактор. Я пытаюсь сохранить значения, написав char в текстовый файл. По какой-то причине каждое десятичное число 128-159 записывается или читается (не уверен, что) как 63. Я принял меры, чтобы изолировать проблему. Вот пример того, как это происходит:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.File;
public class Why {
public static File file = new File("why.txt");
public static void main(String[] args) throws IOException {
if(!file.exists())
file.createNewFile();
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
bw.write((char) 144);
bw.close();
BufferedReader br = new BufferedReader(new FileReader(file));
System.out.println(br.read());
br.close();
}
}
Любая помощь приветствуется.
Я понял это, используя FileOutputStream и FileInputStream. Спасибо всем.
c
к типуchar
? Согласно API, версияwrite()
, которую вы используете, ожидаетint
. - person Tim Biegeleisen   schedule 16.06.2015