코딩 관련/Java

[JAVA] 콘솔 입력. System.in

메리짱123 2021. 3. 24. 21:06
반응형

System.in : InputStream 타입의 필드

read메소드들로 입력된 값을 읽을 수 있다.


1. read() 를 사용

read()를 사용하면 아무리 입력해도 처음 한 문자(1바이트.. 숫자, 영어, 특문)밖에 못 읽음.. 

한글은 못 읽는다.

read()메소드가 있어야 입력한 키가 표시되는 것 같다...

 


2. read(byte[] b)나 read(byte[] b, int off, int len) 을 사용

  • byte 배열의 길이 지정 시 

영어 한 문자는 1바이트, 한글 한 문자는 2바이트를 차지하는 것 고려해서 지정

 

  • 바이트 배열에 저장된 문자를 String 클래스 생성자를 이용하여 문자열로 변환할 때 길이-2인 까닭 

마지막 두 바이트는 Enter키에 해당하는 13(캐리지리턴), 10(라인피드) 이므로 이를 제외하기 위해.

반응형