콘솔 입출력
자바의 System.in 을 이용하면 콘솔 입력을 얻을 수 있다.
1. InputSteam
1
2
3
4
5
6
7
8
9
|
import java.io.InputStream;
public class StreamTest{
public static void main(String[] args) throws Exception{
InputStream in = System.in;
int a= in.read();
System.out.println(a);
}
|
cs |
입력받은 1byte 값을 int 자료형으로 변환해서 저장된다
ex) 입력: abc 출력: 97
-> 문제점 : 1 바이트 만 저장
2. InputStreamReader
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
import java.io.InputStream;
import java.io.InputStreamReader;
public class StreamTest {
public static void main(String[] args) throws Exception {
InputStream in=System.in;
InputStreamReader reader= new InputStreamReader(in);
char[] a= new char[3];
reader.read(a);
System.out.println(a);
}
}
|
cs |
고정한 길이로만 스트림을 읽는다.
ex) 입력 : abc 출력 :abc
-> 문제점 : 길이가 고정되어 번거러움
3. BufferedReader
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.BufferedReader;
public class StreamTest {
public static void main(String[] args) throws Exception {
InputStream in=System.in;
InputStreamReader reader= new InputStreamReader(in);
BufferedReader buffer = new BufferedReader(reader);
String a=buffer.readLine();
System.out.println(a);
}
}
|
cs |
입력했던 문자열을 모두 읽을 수 있게 됨
ex) 입력: abcde 출력 :abcde
정리
InputStream= byte
InputStream= char
BufferReader= String
throws Exception : inputStream으로 부터 값을 읽어들일 때는 IOException이 발생할 수 있기 때문에 예외처리를 해야하 는데 throws로 예외처리를 뒤로 미루게 한 것
파일 입출력
**예외 처리 필수
1
2
3
|
import java.io.IOException;
public static void main(String[] args) throws Exception
} // 예외처리 |
cs |
파일 쓰기
1.FileOutputStream
바이트 단위로 데이터 처리
(바이트 단위로 처리하기때문에 String을 배열로 바꿔주는 getByte() 메소드를 이용해야 한다.)
-> 문제점 : getByte()메소드를 써야하는 불편함이 있음
2.FileWriter
문자열로 데이터를 처리
-> 문제점 : 띄어쓰기가 자동으로 되지 않기때문에 \n 덧붙이는 불편함이 있음
3. PrintWriter
문자열로 데이터 처리 , println() 메소드 사용
ex) pw : PrintWriter의 객체 변수, data: 입력할 데이터
System.out.println(data) | pw.println(data) |
자주 사용하던 방식으로 콘솔창에 data를 보여주겠다 ! | 파일로 data를 보여주겠다 ! |
'JAVA > 기본 문법 내용 정리' 카테고리의 다른 글
자바 GUI 기초 (0) | 2021.10.29 |
---|---|
컬렉션과 제네릭 (0) | 2021.10.29 |
인터페이스 & 추상 클래스 (0) | 2021.10.05 |
배열 [ ] & enum (0) | 2021.10.05 |
조건문 & 반복문 (0) | 2021.10.05 |