Java 입출력

LIM JAEHO·2022년 7월 2일
0

Java 학습

목록 보기
15/19

콘솔 입출력

콘솔 입력

  • System.in
  • InputStreamReader
  • BufferedReader
  • Sacnner

콘솔에서 입력을 받을 때는 위 4가지 방식이 있는데, 기본적으로 Scanner 를 많이 쓴다.
하지만 방식의 차이로 BufferedReader 가 Scanner 보다 속도가 빠르기 때문에 입력 데이터가 많아지면 BufferedReader 가 유리하다.

참고로 argument 에 들어가는 System.in 은 콘솔이라고 생각하면 된다.

// 입력
// Scanner: IOException 을 던질 필요가 없다.
System.out.println("==============");

Scanner scanner = new Scanner(System.in);
System.out.println("공백을 기준으로 입력 : ");
System.out.println(scanner.next());
scanner.nextLine();

System.out.println("정수만 입력 : ");
System.out.println(scanner.nextInt());
scanner.nextLine();

System.out.println("아무 값이나 입력 : ");
System.out.println(scanner.nextLine());

// BufferedReader: IOException 을 던저야 한다.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("입력 : ");
System.out.println(br.readLine());

콘솔 출력

  • print
  • println
  • printf
// 출력
System.out.println();
System.out.print("\n");
System.out.printf("%d\n", 1);

// 2진수 출력
System.out.printf("%s\n", Integer.toBinaryString(-10));
System.out.printf("%s\n", Integer.toBinaryString(10));
System.out.printf("%d\n", Integer.parseInt(Integer.toBinaryString(10)));

// 정수 8진수 (Octal)
System.out.printf("%o\n", 10);
// 정수 10진수 (Decimal)
System.out.printf("%d\n", 10);
// 정수 16진수 (Hexa)
System.out.printf("%x\n", 10);

// 실수 (flaot)
System.out.printf("%f\n", 1.23f);
System.out.printf("%f\n", 1.23);

// 문자 (Char)
System.out.printf("%c\n", 'C');

// 문자열 (String)
System.out.printf("%s\n", "String");

// 불리언 (Bool)
System.out.printf("%b\n", true);

// 5칸 왼쪽 정렬
System.out.printf("%-5d\n", 123);
// 5칸 오른쪽 정렬
System.out.printf("%5d\n", 123);
// 5칸 오른쪽 정렬, 빈 공간은 0으로
System.out.printf("%05d\n", 123);

// 소수점 4자리까지 반올림해 출력
System.out.printf("%.4f\n", 1.23456);

파일 입출력

파일 출력

파일 출력 메서드

파일에 데이터를 쓰는 것이다.

  • FileOutputStream
  • FileWriter
  • PrintWriter
// FileWriter
FileWriter fw = new FileWriter("./memo1.txt");
String memo = "제목\n";
fw.write(memo);

fw.close();

FileWriter conFw = new FileWriter("./memo1.txt", true);
memo = "이어쓰기\n";
conFw.write(memo);

conFw.close();

// PrintWriter
PrintWriter pw = new PrintWriter("./memo2.txt");
memo = "제목";
pw.println(memo);

pw.close();

PrintWriter conPw = new PrintWriter(new FileWriter("./memo2.txt", true));
memo = "이어쓰기";
conPw.println(memo);

conPw.close();

파일 입력

파일에서 데이터를 읽어오는 것이다.

  • FileInputStream
  • BufferedReader
// BufferedReader
BufferedReader br = new BufferedReader(new FileReader("./memo1.txt"));

while (true) {
	String line = br.readLine();
	if (line == null) {
		break;
	}
	System.out.println(line);
}

br.close();

0개의 댓글