JavaTM Platform
Standard Ed. 6

java.io
클래스 Console

java.lang.Object 
  상위를 확장 java.io.Console
모든 구현된 인터페이스:
Flushable


public final class Console
extends Object
implements Flushable

현재의 Java 가상 머신에 관련지을 수 있었던 문자 베이스의 콘솔 디바이스가 있는 경우에, 그 콘솔 디바이스에 액세스하기 위한 메소드입니다.

가상 머신에 콘솔이 있을지 어떨지는, 기본이 되는 operating system와 가상 머신이 불려 가는 방법에 따라 정해집니다. 표준 입력 및 출력의 스트림을 리다이렉트(redirect) 하지 않고 , 대화형의 커멘드행으로부터 가상 머신을 기동하는 경우는, 콘솔이 존재해, 일반적으로 그 콘솔은 가상 머신을 기동한 키보드 및 디스플레이에 접속됩니다. 백그라운드의 잡 스케줄러등에 의해 가상 머신이 자동적으로 기동되는 경우, 일반적으로은 콘솔이 없습니다.  

이 가상 머신에 콘솔이 있는 경우, 그 콘솔은,System.console() 메소드를 호출하는 것으로 취득할 수 있는 이 클래스의 일의의 인스턴스에 의해 나타내집니다. 콘솔 디바이스를 이용할 수 없는 경우, 메소드의 호출은 null 를 돌려줍니다.  

read와 기입의 조작은 동기 되기 (위해)때문에, 위기인 조작을 불가분 (atomic)에 완료할 수가 있습니다. 그 때문에, multi-thread화 된 시나리오에서는,readLine() ,readPassword() ,format() ,printf() 의 각 메소드의 호출이나,reader()writer() 로 반환되는 객체에서의 읽어들여, 포맷, 기입의 조작이 블록 하는 일이 있습니다.  

reader()writer() 로 반환되는 객체로 close() 를 호출해도, 이러한 객체의 기초가 되는 스트림은 닫지 않습니다.  

예를 들어 Control + D 키 (Unix 의 경우) 또는 Control + Z 키 (Windows 의 경우)를 입력해, 콘솔의 입력 스트림의 마지막에 달하면(자), 콘솔의 read 메소드는 null 를 돌려줍니다. 그 후, 콘솔의 입력 디바이스로 추가의 문자가 입력되면(자), 그 이후의 read 조작은 성공합니다.  

특히 지정되어 있지 않은 한, 이 클래스의 메소드에 null 인수를 건네주면(자),NullPointerException 가 throw 됩니다.  

시큐리티상의 주의:어플리케이션으로 패스워드나 그 외의 시큐리티 보호된 데이터를 읽어들일 필요가 있는 경우,readPassword() 또는 readPassword(String, Object...) (을)를 사용해, 기밀 데이터가 메모리에 존속하는 기간을 최소한으로 억제하기 위해서(때문에), 처리가 끝나면(자) 반환되는 문자 배열에 수동으로 0 을 설정하는 것을 추천합니다.

 Console cons;
 char[] passwd;
 if ((cons = System.console()) ! = null &&
     (passwd = cons.readPassword("[%s]", "Password:")) ! = null) {
     ...
     java.util.Arrays.fill(passwd, ' ');
 }
 

도입된 버젼:
1.6

메소드의 개요
 void flush ()
          콘솔을 플래시 해, 버퍼링 되고 있던 모든 출력을 즉시 기입합니다.
 Console format (String  fmt, Object ... args)
          지정된 서식 캐릭터 라인 및 인수를 사용해, 서식 첨부 캐릭터 라인을 이 콘솔의 출력 스트림에 기입합니다.
 Console printf (String  format, Object ... args)
          지정된 서식 캐릭터 라인 및 인수를 사용해, 서식 첨부 캐릭터 라인을 이 콘솔의 출력 스트림에 기입하는 편리한 메소드입니다.
 Reader reader ()
          이 콘솔에 관련지을 수 있었던 일의 Reader 객체를 가져옵니다.
 String readLine ()
          콘솔로부터 단일행의 텍스트를 읽어들입니다.
 String readLine (String  fmt, Object ... args)
          서식 설정된 prompt를 제공해, 다음에 콘솔로부터 단일행의 텍스트를 읽어들입니다.
 char[] readPassword ()
          메아리를 무효로 한 콘솔로부터 패스워드 또는 패스 프레이즈를 읽어들입니다.
 char[] readPassword (String  fmt, Object ... args)
          서식 설정된 prompt를 제공해, 다음에 메아리를 무효로 한 콘솔로부터 패스워드 또는 패스 프레이즈를 읽어들입니다.
 PrintWriter writer ()
          이 콘솔에 관련지을 수 있었던 일의 PrintWriter 객체를 가져옵니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

메소드의 상세

writer

public PrintWriter  writer()
이 콘솔에 관련지을 수 있었던 일의 PrintWriter 객체를 가져옵니다.

반환값:
이 콘솔에 관련지을 수 있었던 PrinterWriter

reader

public Reader  reader()
이 콘솔에 관련지을 수 있었던 일의 Reader 객체를 가져옵니다.  

이 메소드는,Scanner 로 제공되는 풍부한 구문 분석 기능이나 스캔 기능을 이용하는 Scanner 객체등의 고도의 어플리케이션으로 사용합니다.

 Console con = System.console();
 if (con ! = null) {
     Scanner sc = new Scanner(con.reader());
     ...
 }
 

행 지향의 read만이 필요한 단순한 어플리케이션의 경우는,readLine(java.lang.String, java.lang.Object...) (을)를 사용해 주세요.  

반환되는 객체에서의 일괄 read 조작 read(char[]) ,read(char[], int, int) , 및 read(java.nio.CharBuffer) 에서는, 전송처 버퍼에 의해 많은 문자를 포함하는 영역이 있는 경우에서도, 행의 경계를 넘어 문자를 읽어들일 것은 없습니다. 행의 경계는, 개행 ('\n'), 왕복대 리턴 ('\r'), 왕복대 리턴과 개행의 편성, 또는 스트림의 마지막의 언젠가이다고 보입니다.

반환값:
이 콘솔에 관련지을 수 있었던 Reader

format

public Console  format(String  fmt,
                      Object ... args)
지정된 서식 캐릭터 라인 및 인수를 사용해, 서식 첨부 캐릭터 라인을 이 콘솔의 출력 스트림에 기입합니다.

파라미터:
fmt - 「서식 캐릭터 라인의 구문」으로 설명한 서식 캐릭터 라인
args - 서식 캐릭터 라인내의 서식 지시자에 의해 참조되는 인수. 서식 지시자 이외에도 인수가 존재하는 경우, 여분의 인수는 무시된다. 인수의 수는 변동해, 제로의 경우도 있다. 인수의 최대수는,Java 가상 머신 스펙으로 정의된 Java 배열의 최대 사이즈의 제한을 받는다. null 인수에서의 동작은,변환에 응해 다르다
반환값:
이 콘솔
예외:
IllegalFormatException - 서식 캐릭터 라인에 부정한 구문, 지정된 인수와 호환성이 없는 서식 지시자, 인수의 지정이 불충분한 서식 캐릭터 라인, 또는 다른 부정한 조건이 포함되는 경우. 가능성이 있는 서식 에러 모든 자세한 것은, Formatter 클래스 스펙의「상세」섹션을 참조

printf

public Console  printf(String  format,
                      Object ... args)
지정된 서식 캐릭터 라인 및 인수를 사용해, 서식 첨부 캐릭터 라인을 이 콘솔의 출력 스트림에 기입하는 편리한 메소드입니다.

이 메소드를 con.printf(format, args) 의 형식에서 호출했을 경우, 다음의 호출과 같은 결과를 얻을 수 있습니다.

con.format(format, args)

파라미터:
format - 「서식 캐릭터 라인의 구문」으로 설명한 서식 캐릭터 라인
args - 서식 캐릭터 라인내의 서식 지시자에 의해 참조되는 인수. 서식 지시자 이외에도 인수가 존재하는 경우, 여분의 인수는 무시된다. 인수의 수는 변동해, 제로의 경우도 있다. 인수의 최대수는,Java 가상 머신 스펙으로 정의된 Java 배열의 최대 사이즈의 제한을 받는다. null 인수에서의 동작은,변환에 응해 다르다
반환값:
이 콘솔
예외:
IllegalFormatException - 서식 캐릭터 라인에 부정한 구문, 지정된 인수와 호환성이 없는 서식 지시자, 인수의 지정이 불충분한 서식 캐릭터 라인, 또는 다른 부정한 조건이 포함되는 경우. 가능성이 있는 서식 에러 모든 자세한 것은, Formatter 클래스 스펙의「상세」섹션을 참조

readLine

public String  readLine(String  fmt,
                       Object ... args)
서식 설정된 prompt를 제공해, 다음에 콘솔로부터 단일행의 텍스트를 읽어들입니다.

파라미터:
fmt - 「서식 캐릭터 라인의 구문」으로 설명한 서식 캐릭터 라인
args - 서식 캐릭터 라인내의 서식 지시자에 의해 참조되는 인수. 서식 지시자 이외에도 인수가 존재하는 경우, 여분의 인수는 무시된다. 인수의 최대수는,Java 가상 머신 스펙으로 정의된 Java 배열의 최대 사이즈의 제한을 받는다
반환값:
콘솔로부터 읽어들인 행을 포함한 캐릭터 라인, 다만 행의 끝 문자는 포함하지 않는다. 스트림의 마지막에 이르고 있는 경우는 null
예외:
IllegalFormatException - 서식 캐릭터 라인에 부정한 구문, 지정된 인수와 호환성이 없는 서식 지시자, 인수의 지정이 불충분한 서식 캐릭터 라인, 또는 다른 부정한 조건이 포함되는 경우. 가능성이 있는 서식 에러 모든 자세한 것은, Formatter 클래스 스펙의「상세」섹션을 참조
IOError - 입출력 에러가 발생했을 경우

readLine

public String  readLine()
콘솔로부터 단일행의 텍스트를 읽어들입니다.

반환값:
콘솔로부터 읽어들인 행을 포함한 캐릭터 라인, 다만 행의 끝 문자는 포함하지 않는다. 스트림의 마지막에 이르고 있는 경우는 null
예외:
IOError - 입출력 에러가 발생했을 경우

readPassword

public char[] readPassword(String  fmt,
                           Object ... args)
서식 설정된 prompt를 제공해, 다음에 메아리를 무효로 한 콘솔로부터 패스워드 또는 패스 프레이즈를 읽어들입니다.

파라미터:
fmt - 「서식 캐릭터 라인의 구문」으로 설명한, prompt 텍스트의 서식 캐릭터 라인
args - 서식 캐릭터 라인내의 서식 지시자에 의해 참조되는 인수. 서식 지시자 이외에도 인수가 존재하는 경우, 여분의 인수는 무시된다. 인수의 최대수는,Java 가상 머신 스펙으로 정의된 Java 배열의 최대 사이즈의 제한을 받는다
반환값:
콘솔로부터 읽어들인 패스워드 또는 패스 프레이즈를 포함한 문자 배열, 다만 행의 끝 문자는 포함하지 않는다. 스트림의 마지막에 이르고 있는 경우는 null
예외:
IllegalFormatException - 서식 캐릭터 라인에 부정한 구문, 지정된 인수와 호환성이 없는 서식 지시자, 인수의 지정이 불충분한 서식 캐릭터 라인, 또는 다른 부정한 조건이 포함되는 경우. 가능성이 있는 서식 에러 모든 자세한 것은, Formatter 클래스 스펙의「상세」섹션을 참조
IOError - 입출력 에러가 발생했을 경우

readPassword

public char[] readPassword()
메아리를 무효로 한 콘솔로부터 패스워드 또는 패스 프레이즈를 읽어들입니다.

반환값:
콘솔로부터 읽어들인 패스워드 또는 패스 프레이즈를 포함한 문자 배열, 다만 행의 끝 문자는 포함하지 않는다. 스트림의 마지막에 이르고 있는 경우는 null
예외:
IOError - 입출력 에러가 발생했을 경우

flush

public void flush()
콘솔을 플래시 해, 버퍼링 되고 있던 모든 출력을 즉시 기입합니다.

정의:
인터페이스 Flushable 내의 flush

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.