728x90
반응형
1. System.in.read()
- 기능 : 입력스트림(키보드)로 부터 입력된 값을 1바이트로 읽어서 0 ~ 255의 정수를 int 값으로 반환해 준다.
- 매개변수 : X
- 리턴값(리턴자료형) : 0~255(int)
* read는 한 문자만 읽어온다.
* 더 이상 가져올 값이 없으면 -1을 반환한다.
2. System.in.skip()
- 기능 : 키보드에 남아있는 buffer(버퍼)를 매개변수만큼 버려준다.
- 매개변수 : long n
- 리턴값(리턴자료형) : 매개변수로 받은 값만큼 건너뛰고 난 수
3. System.in.available()
- 기능 : 키보드에 남아있는 모든 버퍼를 버린다.
- 매개변수 : X
- 리턴값(리턴자료형) : 남아있는 모든 버퍼를 버리고 난 수
코드 예제)
package days07;
import java.io.IOException;
public class Ex05 {
public static void main(String[] args) throws IOException {
// System.in.read(); 메서드
// end of stream : 더 이상 가져올 값이 없으면 -1을 하여 값을 돌려준다(반환)
// 1번
char one;
System.out.print("한 문자 입력? ");
// one = scanner.next().charAt(0)
// 'a''\r''\n'
one = (char)System.in.read(); // 매개변수 값 int 97 'a' => a입력 후 엔터를 치면'\r'+'n'(CR+LF) 이 들어가짐
System.out.println(one);
// System.in.read(); // 13을 읽어가서 버리겠다.(1개를 버리겠다)
// System.in.read(); // 10을 읽어가서 버리겠다.(1개를 버리겠다)
// System.in.skip(3); // 키보드 버퍼에 남아있는 2개를 버리겠다.
System.in.skip(System.in.available()); // 키보드 버퍼에 남아있는 모든 것들을 버리겠다.
// 2번
System.out.print("한 문자 입력?");
one = (char)System.in.read(); // one = '\r' => 개행(줄바꿈)문자 == 새줄문자 == CR 13 LF \n 10
System.out.println(one);
// 입력스트림 : abcde엔터(==13/10)
System.out.println("=end=");
} // main
} // class
728x90
반응형
'TIL > Java' 카테고리의 다른 글
[Java] char배열과 String 클래스의 변환_new String() / toCharArray() (0) | 2022.03.01 |
---|---|
[Java] 배열 관련 코드예제와 Arrays.toString() / System.arraycopy() (0) | 2022.03.01 |
[SIST] Java_days09 (0) | 2022.02.25 |
[SIST] Java_days08 (0) | 2022.02.24 |
[SIST] Java_days07 (0) | 2022.02.23 |