1. Java에서의 자원 관리

<aside> 💡 자원(Resources)이란?

</aside>

2. Java에서 자원을 회수하는 방법

2-1. try-finally

static String firstLineOfFile(String path) {
	BufferedReader br = new BufferedReader(new FileReader(path));
	
	try {
		return br.readLine();
	} catch(IOException e) {
		e.printStackTrace();
	} finally {
		br.close();
	}
}
static void copy(String src, String dst) throws IOException {
	InputStream in = new FileInputStream(src);
	
	try {
		OutputStream out = new FileOutputStream(dst);
		
		try {
			byte[] buffer = new byte[BUFFER_SIZE];
			int n;
			
			while((n = in.read(buffer)) >= 0) {
				out.write(buffer, 0, n);
			}
		} finally {
			out.close();
		}
	} finally {
		in.close();
	}
}