2
바이트 단위로 파일을 읽으려고합니다. 문제는 자바가 내가 16 진수 편집기를 사용하여 읽을 수있는 바이트가 아니라는 것을 보여줍니다. 자바를 사용 00 00 00 17 00 00 00 29 00 00 00 99 00 00 00 9BJava를 사용하여 바이트 단위로 파일을 읽을 때 예상하지 못한 바이트
읽기 바이트 :
읽기 바이트 극동 사용 0 0 0 17 0 0 0 29 0 0 0 22 0 0 0 3A
자바 코드 :
while ((line = (byte) _br.read()) != -1) {
lines.add(line);
System.out.println("lines = " + Integer.toHexString(line));
}
여기서 몇 가지 암시 적 변환을 수행하고 있습니다. 행 목록의 유형은 무엇입니까? 나는 9B와 99가 모두 127을 넘기 때문에 문제가 signed/unsigned overflow와 같다고 생각한다. – zeller
감사합니다. 문제가 해결되었습니다! –