입출력 방식 중 콘솔 입력 방법
1️⃣System.in
java.io.*
에서 Import하는 클래스한 바이트씩
입력된 값을 읽어들인다.System.in.read()
은 기본적으로 아스키코드로 값을 받는다.int a = System.in.read() - '0'; //'0'을 빼서 숫자정수로 값을 받는다.
char ch = (char) System.in.read(); //(char)로 타입변환
System.in.read(Byte, 0, 4096); //바이트배열, StartByte, EndByte
String strByte = new String(Byte); //Byte -> String 변환
strByte = strByte.trim(); //trim()으로 공백부분 정리
System.in.read(new byte[System.in.available()]);
//입력 스트림에 남아있는 갯수 만큼 바이트 형태로 읽어 데이터를 소진, 엔터값을 제거
2️⃣InputStreamReader
java.io.*
에서 Import하는 클래스InputStream 객체
를 입력으로 가지고 있어야 하기 때문에 System.in
을 이용하여 문자를 입력 받아온다.InputStreamReader reader = new InputStreamReader(System.in);
char[] c = new char[3]; //입력 스트림에 있는 문자를 넣은 배열을 생성
reader.read(c);
System.out.println(c);
3️⃣BufferedReader
java.io.*
에서 Import하는 클래스텍스트의 라인
을 읽어온다.BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s1 = br.readLine();
System.out.println("s1 = " + s1);
4️⃣Scanner
java.util
에서 Import하는 클래스nextLine
,nextInt
등 많은 메소드가 있다.Scanner sc = new Scanner(System.in);
System.out.println(sc.nextLine());
System.out.println(sc.nextInt());
sc.nextLine();
System.out.println
로 문자열을 출력하고 나서 행을 바꾼다.System.out.print
메소드도 있다.System.out.println("Hello");
System.out.print("World!");
String s = "자바";
int number = 3;
System.out.printf("%s는 언어 선호도 %d위 입니다.\n", s, number);
💡printf
System.out.printf("%5d\n", 123); //정수, 오른쪽부터 자릿수 채우기
System.out.printf("%-5d\n", 123); //정수, 왼쪽부터 자릿수 채우기
System.out.printf("%o\n", 10); //8진수
System.out.printf("%x\n", 10); //16진수
System.out.printf("%.2f\n", 1.126123f); //실수
System.out.printf("%c\n", 'A'); //문자
System.out.printf("%s\n", "안녕하세요"); //문자열
FileReader
와 BufferedReader
의 조합을 사용하여 라인 단위로 파일을 읽을 수 있다.java.io.*
에서 Import하는 클래스null
을 반환한다.BufferedReader br = new BufferedReader(new FileReader("./파일이름.txt"));
while (true) {
String line = br.readLine(); //파일에서 한줄씩 읽어옴
if (line == null) {
break;
}
System.out.println(line);
}
br.close();
입출력 방식 중 파일로 출력하는 방법
1️⃣FileWriter
java.io.*
에서 Import하는 클래스\n
을 덧붙여야 한다.FileWriter fw = new FileWriter("./memo.txt"); //매개변수 -> 저장위치,파일이름, 확장자
String memo = "Head Line\n";
fw.write(memo);
fw.close();
2️⃣PrintWriter
java.io.*
에서 Import하는 클래스\n
을 벗붙이는 대신 println
이라는 메소드를 사용하여 라인을 바꿀 수 있다.PrintWriter pw = new PrintWriter("./memo.txt");
memo = "Head Line";
pw.println(memo);
pw.close();
3️⃣파일 이어쓰기
FileWriter fw2 = new FileWriter("./memo.txt", true);
memo = "1월 2일 날씨 완전 맑음\n";
fw2.write(memo);
fw2.close();
//FileWriter를 사용
PrintWriter pw2 = new PrintWriter(new FileWriter("./memo.txt", true));
memo = "1월 3일은 날씨도 맑음";
pw2.println(memo);
pw2.close();
🌟입출력 관련 객체를 사용하고 난 뒤
close
로 꼭 닫아줄 것!