2015 IT 웹 기반 개발자과정/JAVA

JAVA 파일 IO 및 유틸 클래스

한여름밤의코딩 2015. 11. 16. 17:59
package src.kr.ac.jnu.day06;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;

import kr.ac.jnu.util.FileClose;

public class URLConnectionMain02 {
	public static void main(String[] args) {
		URLConnection uc = null;
		InputStream is = null;
		InputStreamReader isr = null;
		BufferedReader br = null;
		FileOutputStream fos = null;
		OutputStreamWriter osw = null;
		BufferedWriter bw  = null;
		
		try {
			
			URL urlObj = new URL("http://widwid.tistory.com");
			uc = urlObj.openConnection();
			
			is = uc.getInputStream(); // 1byte 
			isr = new InputStreamReader(is, "utf-8");
			br = new BufferedReader(isr);
			
			
//			OutputStream os = uc.getOutputStream();
//			OutputStreamWriter osw = new OutputStreamWriter(os, "utf-8");
			
			fos = new FileOutputStream("innerHTML.html");
			osw = new OutputStreamWriter(fos, "utf-8");
			bw = new BufferedWriter(osw);
			
			while(true){
				String data = br.readLine();
				if(data == null){
					break;
				}
//				System.out.print((char)c);
				bw.write(data);
				bw.newLine();
			}
			bw.flush();
			
		} catch (Exception e) {
			e.getMessage();
		}finally{
			FileClose.close(br);
			FileClose.close(isr);
			FileClose.close(is);
			FileClose.close(fos);
			FileClose.close(osw);
			FileClose.close(bw);
		}
	}
}
====================================================================================
package kr.ac.jnu.util;

import java.io.InputStream;
import java.io.OutputStream;
import java.io.Reader;
import java.io.Writer;

public class FileClose {
	public static void close(InputStream is){
		try {
			is.close();
		} catch (Exception e) {
			e.getMessage();
		}
	}
	public static void close(OutputStream os){
		try {
			os.close();
		} catch (Exception e) {
			e.getMessage();
		}
	}
	public static void close(Reader r){
		try {
			r.close();
		} catch (Exception e) {
			e.getMessage();
		}
	}
	public static void close(Writer w){
		try {
			w.close();
		} catch (Exception e) {
			e.getMessage();
		}
	}
}