package ex01_web;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
public class Ex04_Text_Reader {
public static void main(String[] args) {
//웹상의 텍스트 파일 읽기
//구글: "기상청 rss"검색 -동네예보>중기예보 - 전국
//주소
String spec = "http://www.kma.go.kr/weather/forecast/mid-term-rss3.jsp?stnId=108";
URL url =null;
HttpURLConnection con =null;
BufferedReader reader =null;
BufferedWriter writer=null;
try {
url= new URL(spec);
con=(HttpURLConnection)url.openConnection();
//입력스트림 생성
reader =new BufferedReader(new InputStreamReader(con.getInputStream()));
//출력 스트림 생성
// 출력스트림 생성
File dir = new File("C:/storage");
if(dir.exists() == false) {
dir.mkdirs();
}
File file =new File(dir,"weather1.xml");
writer= new BufferedWriter(new FileWriter(file));
//입력스트림으로 부터 한줄씩 읽기
String line =null;
while((line=reader.readLine())!=null)
{
writer.write(line+"\n");
}
// 결과 메시지
System.out.println(file.getPath() + " 파일 내려받기 성공");
} catch (MalformedURLException e) { // url 생성
System.out.println(e.getMessage());
} catch (IOException e) { // con 생성, reader 생성, writer 생성 등
System.out.println(e.getMessage());
} finally {
try {
if(writer != null) writer.close();
if(reader != null) reader.close();
if(con != null) con.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}