예제 프로그램:
1. 스캐너를 사용하여 키보드에서 정수 또는 부동 데이터를 읽습니다.
2. BufferedReader를 사용하여 키보드에서 문자열을 읽고 abc.txt 파일에 씁니다.
JDK1.5 스캐너 클래스 설명
Scanner는 SDK1.5에 추가된 새로운 클래스이지만 이 클래스를 사용하여 객체를 생성할 수 있습니다.
스캐너 리더=새 스캐너(System.in);
그런 다음 판독기 개체는 다음 메서드(함수)를 호출하여 사용자가 명령줄에 입력한 다양한 데이터 유형을 읽습니다.
next.Byte(),nextDouble(),nextFloat,nextInt(),nextLine(),nextLong(),nextShot()
공백이 포함될 수 있는 줄을 입력하려면 nextLine() 메서드를 사용하세요. 단어를 읽는 경우 .next() 메서드를 호출할 수 있습니다.
3. Scanner와 BufferedReader의 차이점
명령줄 모드에서 프로그램에 데이터를 입력할 때 표준 입력 문자열 개체인 System.in을 사용할 수 있습니다. 그러나 System.in에서 제공하는 읽기 방법은 한 번에 한 단어만 읽을 수 있기 때문에 직접 사용하지 않습니다. 섹션이며 우리가 일반적으로 사용하는 것은 문자열이나 숫자를 읽는 것이므로 read 메소드에서 제공하는 기능은 우리에게 그다지 유용하지 않습니다.
Java SE 6에서는 Scanner 클래스를 사용하여 사용자 입력을 얻을 수 있습니다. Scanner 클래스는 java.util 패키지에 있습니다. Scanner를 사용하여 사용자 입력을 얻으려면 import java.util.Scanner를 추가해야 합니다. .import 명령문 이 함수는 java.util 패키지의 Scanner 클래스를 사용할 것임을 컴파일러에 알리는 것입니다.
예를 살펴보겠습니다:
위 프로그램을 실행시키면 아래와 같이 입력한 문자열이 출력되는 것을 볼 수 있습니다.
이 프로그램의 각 명령문의 의미를 살펴보겠습니다.
new는 객체를 생성하는 것을 의미합니다. 프로그램에서 new는 Scanner 클래스의 객체 스캔을 생성하는 것을 의미합니다. 그러나 Scanner 클래스의 객체를 생성할 때는 System.in을 해당 매개 변수로 사용해야 합니다. Scanner도 System으로 간주될 수 있습니다. 개체의 지원자인 System.in은 사용자가 입력한 콘텐츠를 가져와 일부 처리를 위해 Scanner에 전달합니다.
Scanner 클래스에는 여러 메서드가 제공됩니다.
next(): 문자열을 얻습니다.
nextInt(): 얻은 문자열을 int 유형의 정수로 변환합니다.
nextFloat(): 얻은 문자열을 float 유형으로 변환합니다.
nextBoolean(): 얻은 문자열을 부울 유형으로 변환합니다.
Scanner를 사용하여 사용자 입력을 얻는 것은 매우 편리하지만 Scanner는 공백 키, Tab 키 및 Enter 키를 포함하여 공백 문자를 기반으로 입력을 얻습니다. 이 키 중 하나를 누르면 Scanner는 다음 입력으로 돌아갑니다. 내용 중간에 공백이 있는 경우 Scanner를 사용하면 입력한 문자열을 완전히 얻을 수 없습니다. 실제로 Java SE에서는 BufferedReader 클래스를 사용하는 것을 고려할 수 있습니다. 버전 1.4 이하에서는 Scanner 메서드가 아직 제공되지 않으며 입력을 얻을 때 BufferReader 도 사용합니다.
BufferedReader 클래스는 java.io 패키지에 있으므로 이 클래스를 사용하려면 java.io 패키지를 도입해야 합니다. import java.io.BufferedReader.
BufferedReader 객체를 사용하는 readLine() 메서드는 java.io.IOException 예외(Exception)를 처리해야 합니다.
BufferedReader를 사용하여 입력을 얻는 것은 이해하기가 훨씬 더 복잡합니다. 그러나 이 방법은 고정되어 있으므로 매번 사용하기 전에 동일한 방법을 따르십시오.
BufferedReader 버퍼 = new BufferedReader(new InputStreamReader(System.in));
문자열 텍스트 = buffer.readLine();
readLine() 메서드는 Enter 키의 마지막 반환 문자를 제외하고 Enter 키를 누르기 전에 사용자가 입력한 모든 문자를 반환합니다.
전체 샘플 프로그램은 다음과 같습니다.
}
4. 다음 프로그램에 표시된 대로: class StringTest
실행문 뒤에 내용을 입력합니다: java + 클래스명, args로 수신됩니다.
args는 명령줄 매개변수를 받기 때문입니다.