[JAVA] 자바 BufferedReader
▣ 자바 BufferedReader |
■ 자바에서 입력 방법중에서 세번째 포스팅이네요^^ 이번에는 "BufferedReader"에 대해서 알아보도록 하겠습니다. 지난 포스팅에서는 키보드를 통해서 하나의 문자를 입력받는것과 "엔터"가 미치는 영향등에 대해서 알아봤는데요. 이번에는 "abcd", "홍길동" , 12345 등과 같이 문자를 한꺼번에 입력 받는 방법을 살펴보겠습니다. 숫자 12345와 같은 숫자를 바로 받아들이는 방법을 자바에서는 사용하지 않고 숫자도 일단 문자열로 입력을 받았다가 원하는 자료형(int, long.....)으로 변환을 해줘야 합니다.
■ 먼저 문자열을 입력받기 위해서는 다음과 같은 구문을 적어주면 됩니다.
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));; 이렇게 하면 "in"이라는 객체에 문자를 입력받을 준비가 된것인데요. 실제 코딩을 해보겠습니다.
■ 예제에서 보듯이 "String" 변수를 선언하고, 그 변수에 [in.readLine()]를 이용해서 문자열을 입력 받고 있습니다. 프로그램을 실행시키면 "이름을 입력하세요"가 출력이 되고, 이름을 입력하면 콘솔창의 내용처럼 출력이 되는걸 확인할 수 있으며 , 여기서는 readLine()메서드가 엔터 키를 처리해 주기 때문에 신경쓰지 않아도 됩니다. 엔터키를 친 부분까지 모두 "name"이라는 변수에 모두 저장이 됩니다.
■ 이렇게 문자열을 입력받을 수 있는데요. 이번에는 입력받은 문자열을 boolean 형이나 숫자등 우리가 원하는 자료형으로 변환하는 방법에 대해서 알아보겠습니다. 먼저 boolean형은 다음과 같습니다.
boolean bool= Boolean.valueOf(str).booleanValue(); 이부분은 암기를 해야 합니다.^^
프로그램을 실행시켜보면 "true"라는 문자열 외에는 숫자, 문자등 모두 "false"로 출력이 되는데, 위의 예에서는 "false"를 확인하기 위해서 숫자를 입력해 봤습니다.
■ 다음은 문자열(String)을 원하는 숫자 데이터들로 변환하는 방법을 알아보겠습니다.
■ 보면 알겠지만 나머지 자료형들은 변환하는 유형이 모두 같기 때문에 그 중 int형의 변환만 살펴보도록 하겠습니다.
■ int num=Integer.parseInt(str) 구문이 String으로 입력된 문자열을 Int형으로 변환해주는 부분입니다. 출력된 내용을 보면 숫자 6개를 문자열로 입력받아서 숫자로 출력하고 있는 내용을 확인할 수 있습니다. 다른 자료형도 모두 마찬가지입니다.
이렇게 해서 문자열을 입력받는 방법과, 입력받은 문자열을 원하는 자료형으로 파싱(변환)하는 방법에 대해서 알아봤습니다.