콘솔 입출력
2022. 4. 28. 21:55ㆍjava/java
*CONSOLE
1) 시스템을 사용하기 위해 키보드로 입력을 받고 화면으로 출력하는 소프트웨어
2) unix, linux : 터미널
3) Windows 운영체제 : 명령 프롬프트
4) 이클립스 : console 뷰
*System.in 필드
1) InputStream타입의 입력 스트림이므로 InputStream 변수에 대입할 수 있다.
InputStream is = Ststem.in;
2) 읽은 byte는 키보드의 아스키 코드이다.
int asciiCode = is.read();
3)아스키 코드로부터 문자 읽기
char InputChar = (char)is.read();
4)키보드로부터 입력된 한글 읽기 (한글은 2byte이기 때문에 최소 2byte이상으로 할 것)
byte[] byteData = new byte[15];
int readByteNO = System.in.read(byteData);
읽은 바이트 수 실제로 읽은 바이트가 저장
아스키 코드로 저장된 데이터를 문자열로 변환
String strData = new String( byteData, 0, readbyteNo-2);
바이트 배열 | 읽은 바이트수-2(읽은 바이트 수 : 6 -(엔터키, 인덱스는 0부터
시작인덱스 시작이니 -1 한번 더
*System.out 필드
1) printStream 타입의 출력 스트림이므로 OutputStream으로 타입 변환할 수 있다.
OutputStream os = System.out;
2)아스키 코드를 출력하면 콘솔에는 문자가 출력된다.
byte b = 97
os.write(b)
os.flush();
3)문자열을 출력하려면 바이트 배열을 얻어야 한다.
String name = "홍길동";
byte[] nameBytes = name.getBytes(); //바이트 배열에 문자열을 바이트로 변환시켜 입력
os.write(nameBytes);
os.flush();
PrintStream ps = System.out
ps.println(...); -----------------------> 줄여서 System.out.println(...);
*Console 클래스
1) 자바 6부터 콘솔에서 입력된 문자열을 쉽게 읽을 수 있도록 Console 클래스 제공
Console console = System.Console();
-이클립스에서 System.console() 은 null을 리턴하기 때문에
명령 프롬프트에서 반드시 실행해야 한다.
2) Console의 읽기
*Scanner 클래스
1) Console 클래스의 단점
- 문자열은 읽을수 있지만 기본 타입(정수 , 실습) 값을 바로 읽을 수는 없다.
2) java.util.Scanner
- 콘솔로부터 기본 타입의 값을 바로 읽을 수 있다.
Scanner scanner = new Scanner(System.in)
- 제공하는 메서드
'java > java' 카테고리의 다른 글
XML 정의와 사용법 (미완성) (0) | 2022.04.29 |
---|---|
데몬 스레드 (0) | 2022.04.29 |
스레드 상태 제어 (0) | 2022.04.28 |
입력스트림과 출력 스트림 개념(2) (0) | 2022.04.26 |
스레드 상태 (0) | 2022.04.26 |