Чтение бинарного файла
Читаю байты из бинарного файла. При считывании преобразоваю байт 0 в символ 0, байт 1 в символ 1. Но в этой строке
OP[i] = (char)((f1[i] == 0) ? '0' : '1');
возникает ошибка, компилятор говорит, что char Не может быть преобразован в String. Не понимаю, что я сделал не так. Помогите найти ошибку.
String OPER = "00100011101";
byte[] bytes = new byte[OPER.length()];
for (int i = 0; i < OPER.length(); i++) {
bytes[i] = (byte) ((OPER.charAt(i) == '0') ? 0 : 1);
//System.out.println(bytes[i]);
}
try (FileOutputStream fos = new FileOutputStream(new File("someFile.dat"))) {
fos.write(bytes);
fos.close();
}
FileInputStream f1 = new FileInputStream("someFile.dat");
int size = f1.available();
String[] OP = new String[size];
System.out.println("Total Available Bytes: " + size);
for (int i = 0; i < size; i++) {
OP[i] = (char)((f1[i] == 0) ? '0' : '1');
System.out.print( f1.read());
}
Источник: Stack Overflow на русском