본문 바로가기
JAVA/JAVA 기초

입출력(IO)

by 도쿠니 2022. 3. 29.

1. 콘솔 입력

- 입출력 방식 중 콘솔 입력 방법

// 콘솔 입력 방식

// System.in
// 하나의 문자를 받아온다.
int read = System.in.read();

// 입력 스트림에 남아있는 갯수 만큼 바이트 형태로 읽어서 데이터를 소진시켜준다. 엔터값 제거용
System.in.read(new byte[System.in.available()]);


// InputStreamReader
// 여러 개의 문자를 받아올 수 있음
InputStreamReader reader = new InputStreamReader(System.in);

char[] chars = new char[3]; // 입력스트림에 들어있는 문자를 넣을 배열 생성

reader.read(chars); // 배열에 입력값을 넣어준다.


// BufferedReader
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine(); // InputStreamReader와 달리 배열을 만들 필요 없이 바로 읽어올 수 있다.


// Scanner
Scanner sc = new Scanner(System.in);
String next = sc.next(); // nextLine, nextInt 등 많은 메소드가 있음.

 

2. 콘솔 출력

- 입출력 방식 중 콘솔 출력 방법

// 줄바꿈 포함
System.out.println(...);

// 줄바꿈 미포함
System.out.print(...);

// 포맷 지정 가능
System.out.printf(...);

* printf의 경우 포맷을 지정하는 방법이 따로 있는데

- %d : 10진법

- %o : 8진법

- %x : 16진법

 

- %f : 소수

 

- %c : 문자

- %s : 문자열

 

이외에도 더있으니 필요하면 그 때 찾아보도록 하자.

더불어 몇자리까지 출력할건지도 설정 가능! 숫자붙이면 된다

 

- 왼쪽으로 붙여서 출력 : ex) %-5d, 12345

- 오른쪽으로 붙여서 출력 : ex) %5d, 12345

- 소수자리 출력 : ex) %.2f, 1.123456f

 

 

3. 파일 출력

- 입출력 방식 중 파일로 출력하는 방법

 

// 파일 쓰기

// FileWriter 
FileWriter fw = new FileWriter("./파일명.txt"); // 매개변수로 파일 저장위치와 파일명,확장자를 문자열로 넣어줌
fw.write("메모 작성 \n");  // write 메소드의 매개변수에 들어있는 문자가 파일에 저장된다.


// PrintWriter
PrintWriter pw = new PrintWriter("./memo.txt");
pw.println("내용 작성"); // \n 을 처리해준다.


// 파일 이어 쓰기
FileWriter fw2 = new FileWriter("./파일명.txt", true); // 이어쓰기할 파일과 true로 설정

PrintWriter pw = new PrintWriter(new FileWriter("./파일명.txt", true);); // FileWriter를 넣어준다.


// 주의할점 항상 IO관련 객체 쓸 때는 close로 닫아주자.

 

4. 파일 입력

// 파일로부터 데이터 읽어오기

// BufferedReader

BufferedReader br = new BufferedReader(new FileReader("./파일명.txt");

br.readLine(); // 파일에서 한줄씩 읽어올 때

// 파일을 다 읽어오려면 반복문 작성해서 돌리자.

 

 

항상 IO 관련 객체 사용하면 close로 닫아주자. 제대로 작동 안할 수도 있다ㅠ

댓글