[BOJ] 2557

Organ·2023년 8월 30일
0

[문제 풀이]

목록 보기
1/123

Hello World

문제

내 풀이

public class Main {
	public static void main(String[] args) {
		System.out.println("Hello World!");
	}
}

다른 풀이

import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
import java.io.IOException;

public class Main
{
	public static void main(String[] args) throws IOException
	{
		BufferedWriter br = new BufferedWriter(new OutputStreamWriter(System.out));

		br.write = ("Hello World!");

		br.flush();
		br.close();
	}
}

문법

BufferedWriter / BufferedReader

  • Buffer에 있는 IO 클래스인데 이 클래스들은 데이터를 하나씩 읽어오는 것이 아니라 임시 공간(버퍼)에 저장해두었다가 한 번에 출력 또는 데이터를 보내는 방식
  • 1000개의 데이터를 1개씩 보내는게 아니라 임시로 한 공간에 담아둔 뒤 한 번에 보내는 방법이니 당연 성능면에서 우수

flush() 와 close()

  • flush() : FileWriter 내부 버퍼의 내용을 파일에 writer한다. flush()를 호출하지 않는다면 내용이 버퍼에만 남고 파일에는 쓰이지 않는 상황이 나올 수 있다. 즉, 메소드는 버퍼에 데이터가 가득 차 있건 아니건, 버퍼에서 강제로 밀어내도록 하는 메소드이다.
  • close() : FIleWriter는 스프링을 이용하여 파일의 내용을 읽어들인다. 이때 close()를 호출하여 스트림을 닫으면 그 스트림을 다시 이용하여 파일에 쓰는 것이 불가능하다. 파일은 파일시스템이나 기타 다른 곳에 있으므로 이 내용을 스트림으로 읽어 들이는데 메모리를 소모한다. 작업이 끝나면 close()를 호출하여 스트림을 닫아 종료된 작업에 대해 메모리를 확보해야 한다.

출처

https://st-lab.tistory.com/2
https://eastcold.tistory.com/11

0개의 댓글