오늘의하루

Java Scanner 대신 BufferedReader 사용해보기 본문

JAVA

Java Scanner 대신 BufferedReader 사용해보기

오늘의하루_master 2022. 11. 30. 14:05
반응형

BufferedReader의 경우 키보드의 입력이 있을 때마다 한 문자씩 버퍼(buffer)로 전송하며 버퍼가 가득차거나 개행 문자가 나타나면 버퍼의 내용을 한 번에 전송하기 때문에 속도가 scanner에 비해 빠르다.

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;

public class Main
{
	public static void main(String[] args) {
		System.out.println("PassWord Making");
        System.out.print("id = ");
        try{
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            char[] arr = br.readLine().toCharArray();
            // String str = br.readLine();
            // char[] arr = str.toCharArray();
            Object[] pass = new Object[arr.length];
            List list = new ArrayList();
            for(int i = 0; i < arr.length; i++){
                if((i+1) % 2 == 0){
                    // byte num = (byte)arr[i];
                    // list.add(num);
                    list.add((byte)arr[i]);
                }else{
                    list.add(arr[i]);
                }
            }
            System.out.println("=====================");
            System.out.print("Password = ");
            ListIterator it = list.listIterator();
            while(it.hasNext()){
                System.out.print(it.next());
            }
        }catch(Exception e){
        }
	}
}

BufferedReader의 경우 IOException을 꼭 해줘야하며 반환값이 무조건 String으로만 가능하다.

반응형
Comments