본문 바로가기

Java

java) java IO 자바 입출력 - 키보드 입력스트림

⭐자바 입출력 I/O

input/output

데이터를 읽고 쓰는 기능을 제공한다

파일, 네트워크, 콘솔 등 다양한 소스와 대상 간 데이터를 주고받는다.

 

먼저 I/O 시스템은
크게 네 가지 주요 구성 요소로 나눈다

✨ 바이트 기반 스트림
✨ 문자 기반 스트림
✨ 버퍼링 스트림
✨ 필터 스트림

⭐ 스트림이란?
stream

데이터를 순차 처리하는 연속된 데이터 요소의 흐름이다
추상적인 매개체로서 입출력 작업을 수행한다

스트림을 통해
키보드로 데이터를 받을 수 있고
파일을 통해서도 데이터를 받을 수 있다.

 

예제)

 자바에서
 표준입출력은
 프로그램과 사용자 사이에서
 기본적 데이터 교환 방법을 제공한다
public class MySystemIn {
    public static void main(String[] args) {

        /* 표준 입출력에 대해 살펴본다
        키보드, 모니터
        System.in
        System.out
        System.err */

        //키보드 입력
        System.out.println("알파벳 하나를 쓰고 엔터키를 누르시오");
        int i; //입력된 바이트를 저장할 변수
        try {
            /* System.in.read() 는 키보드에서 1바이트를 읽어
            ASCII 코드로 반환해준다.
            단, 한글은 3바이트라 안된다
            입력하면 깨진문자나 의미없는 정수값을 출력한다 */
            i = System.in.read();

            //읽은 바이트의 정수값을 출력하라
            System.out.println(i);

            //형변환
            System.out.println((char)i);


        } catch (IOException e) {
            //입력중 오류발생시 스택 트레이스 출력
            e.printStackTrace();
            throw new RuntimeException(e);
        }//try-catch

    }//main
}//class

 

예제2)

 입력스트림이란
 키보드에서 프로그램으로 데이터가 들어오는 것
 기능을 확장해보자
public class MySystemIn2 {
    public static void main(String[] args) {

        System.out.println("알파벳을 여러개쓰고 Enter!");
        int i;
        try {
            // 키보드에서 Enter는 \n 으로 표현된다.
            while ((i = System.in.read()) != '\n') {
                //읽은 바이트의 정수값을 출력
                System.out.print("i:"+i);
                System.out.println("="+(char)i);
            }
        } catch (IOException e) {
            throw new RuntimeException(e);
        }//try-catch

    }//main
}//class

 

바이트 기반 입력스트림 예제)

https://notion6780.tistory.com/95

 

java) java 파일 입력스트림, 출력스트림 예제

예제)txt 파일로부터 입력스트림을 받아봤다.public class MyFileInputStream { public static void main(String[] args) { //파일을 바이트 단위로 읽어들이는 방법 FileInputStream in = null; int readData; try { in = new FileInputStr

notion6780.tistory.com