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로 닫아주자. 제대로 작동 안할 수도 있다ㅠ
'JAVA > JAVA 기초' 카테고리의 다른 글
컬렉션 프레임워크 (Collection Framework) (0) | 2022.03.29 |
---|---|
예외 (Exception) (0) | 2022.03.29 |
내부 클래스(Inner Class)와 익명 클래스(Anonymous Class) (0) | 2022.03.29 |
인터페이스 (Interface) (0) | 2022.03.29 |
추상 클래스 (Abstract Class) (0) | 2022.03.29 |
댓글