[Java] System.in.read() / System.in.skip() / System.in.available()

2022. 2. 27. 20:57·TIL/Java
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
'TIL/Java' 카테고리의 다른 글
  • [Java] char배열과 String 클래스의 변환_new String() / toCharArray()
  • [Java] 배열 관련 코드예제와 Arrays.toString() / System.arraycopy()
  • [SIST] Java_days09
  • [SIST] Java_days08
야리니
야리니
오늘보다 내일 더 성장하는 개발자가 되기 위한 야리니 블로그입니다 :)
    반응형
    250x250
  • 야리니
    야리니의 step by step
    야리니
  • 링크

    • GitHub
    • Linkedin
  • 전체
    오늘
    어제
    • 분류 전체보기 (478) N
      • TIL (379)
        • Java (97)
        • Kotlin (28)
        • JPA (16)
        • Spring (37)
        • Oracle (22)
        • JDBC (7)
        • Web(HTML, CSS, JS, jQuery) (90)
        • View Template (31)
        • AWS (7)
        • HTTP (7)
        • CS (5)
        • Linux, Unix (2)
        • Python (20)
      • Trouble Shooting(Error) (37)
      • Algorithm (15)
      • Git,GitHub (8)
      • Diary (24) N
      • 독서 (9)
      • Etc (6)
        • Mac (1)
        • 학원준비과정 (2)
  • 블로그 메뉴

    • 방명록
    • 태그
  • 공지사항

    • 안녕하세요 :)
  • 인기 글

  • 태그

    백엔드 개발자
    CSS
    쌍용교육센터
    HTML
    코틀린
    oracle
    java
    Kotlin
    java기초
    국비지원학원
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
야리니
[Java] System.in.read() / System.in.skip() / System.in.available()
상단으로

티스토리툴바