чтения я следующий код, который считывает байты из файла и распечатать его:Диапазон значения, возвращаемого InputStream функции
public static void main(String[] args) throws FileNotFoundException, IOException {
try (InputStream is = new FileInputStream("myFile")) {
byte[] bytes = new byte[3];
while (is.read(bytes) != -1) {
System.out.println("bytes = " + Arrays.toString(bytes));
}
}
}
Вот содержание Myfile:
AAABBB|||ùùù
Вот результат:
bytes = [65, 65, 65]
bytes = [66, 66, 66]
bytes = [124, 124, 124]
bytes = [-7, -7, -7]
Мой вопрос, так как диапазон значений байта составляет - 128 127, это нормально с ee отрицательное значение на выходе. Тем не менее, Javadoc из() метода InputStream.read говорит
Значение байта возвращается как Int в диапазоне от 0 до 255
Не это немного неоднозначным? Как int (от 0 до 255) сопоставляется с байтом (от 128 до 127)?
Спасибо.