지금까지 아무 의심없이 사용하고 있었는데 어느 날 학생의 질문이었다. byte라도 충분할텐데.. 이 질문과 답은 아래에서 볼 수 있다.
http://stackoverflow.com/questions/4659659/why-does-inputstreamread-return-an-int-and-not-a-byte
read() 메서드에서 1byte(0~255)를 읽고 싶은데 java의 byte는 -128 ~ 127이다. 또한 EOF(end of file)일 경우 -1을 반환해야 하기 때문에 byte를 사용할 수 없다는 내용이다.
1개의 의견 from SLiPP
ㅎㅎ c에서도 마찬가지입니다. -1 리턴 때문에 int로 받아서 char로 캐스팅해 줘야 합니다. 참고로 c의 char는 정수형의 하나입니다.
자바에서 byte 와 char도 정수형으로 취급하는지 궁금하네요.
추가로 자바의 경우 read로 2byte를 읽을 수 있잖아요. 그래서 일단 byte는 아닌 것 같습니다.
의견을 남기기 위해서는 SLiPP 계정이 필요합니다.
안심하세요! 회원가입/로그인 후에도 작성하시던 내용은 안전하게 보존됩니다.
SLiPP 계정으로 로그인하세요.
또는, SNS 계정으로 로그인하세요.