Java에서 Scanner 닫기
-
사용자의 표준 입력을 인쇄 한 후 Java에서
Scanner
닫기 -
사이에 줄 바꿈 문자가있는 지정된 문자열을 인쇄 한 후 Java에서
Scanner
닫기 -
파일 내용을 읽은 후 Java에서
close()
메소드를 사용하여Scanner
닫기
이 튜토리얼에서는 Java에서 Scanner를 닫는 방법과 사용해야하는시기를 배웁니다. Scanner
클래스에는 특히 열린 Scanner를 닫는 데 사용할 수있는close()
메소드가 있습니다. 명시 적으로close()
메소드를 호출하지 않더라도Closeable
인터페이스가 호출되어 스트림을 닫습니다. Scanner를 명시 적으로 닫는 것이 좋습니다.
다음은Scanner.close()
메서드를 언제 어떻게 사용할 수 있는지 보여주는 예입니다.
사용자의 표준 입력을 인쇄 한 후 Java에서 Scanner
닫기
아래 코드에서는 생성자에서 사용자의System.in
표준 입력을받는Scanner
객체in
을 만들었습니다. nextLine()
메서드는 건너 뛴 입력을 반환합니다. 공백과 줄 구분 기호를 포함하여 줄 끝까지 전체 입력 줄을 읽습니다.
입력이 인쇄되고Scanner
객체in
에close()
메서드를 호출하여Scanner
를 닫습니다. Scanner
가 닫힌 후myString2
로 아래와 같이in
을 사용하려면 스트림 또는Scanner
가 닫 혔기 때문에 예외가 발생합니다.
import java.util.Scanner;
public class CloseScanner {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Enter a String: ");
String mystring = in.nextLine();
System.out.println("The String you entered is: " + mystring);
in.close();
String myString2 = in.nextLine();
System.out.println(myString2);
}
}
출력:
Enter a String: the cat is white
The String you entered is: the cat is white
Exception in thread "main" java.lang.IllegalStateException: Scanner closed
at java.base/java.util.Scanner.ensureOpen(Scanner.java:1150)
at java.base/java.util.Scanner.findWithinHorizon(Scanner.java:1781)
at java.base/java.util.Scanner.nextLine(Scanner.java:1649)
at com.company.Main.main(Main.java:20)
사이에 줄 바꿈 문자가있는 지정된 문자열을 인쇄 한 후 Java에서 Scanner
닫기
이 예에서는\n
및nextLine()
을 사용하여s
문자열을 다른 행으로 분리합니다. \n
은 새 줄을 나타내는 데 사용되며scanner.nextLine()
이 새 줄을 감지하면 새 줄로 이동 한 다음 인쇄합니다. 따라서 출력에는 서로 다른 줄의s
에있는 세 가지 주제가 모두 있습니다.
이것은scanner
가 더 이상 새 줄을 스캔하지 않도록close()
메서드를 호출하려는 경우 중 하나입니다.
import java.util.Scanner;
public class CloseScanner {
public static void main(String[] args) {
try {
String s = " English \n Maths \n Science ";
Scanner scanner = new Scanner(s);
System.out.println(scanner.nextLine());
System.out.println(scanner.nextLine());
System.out.println(scanner.nextLine());
scanner.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
출력:
English
Maths
Science
파일 내용을 읽은 후 Java에서close()
메소드를 사용하여Scanner
닫기
파일을 읽을 때 항상 Scanner
를 닫는 것이 좋습니다. 사용하지 않는 입력 또는 출력 스트림이 열리지 않도록합니다. 다음 예제는 파일에서String
을 읽고 작업이 완료되면scanner
를 닫는 방법을 보여줍니다.
import java.io.File;
import java.util.Scanner;
public class CloseScanner {
public static void main(String[] args) {
try {
File file = new File("/Users/john/Documents/Example.txt");
Scanner scanner = new Scanner(file);
StringBuffer sb = new StringBuffer();
while (scanner.hasNext()) {
sb.append(" " + scanner.nextLine());
}
System.out.println(sb);
scanner.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
출력:
Hello, You are in a text file.
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn