java——获取网页源代码存储到本地

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

public class CmsUtil {

    //通过url生成静态页面
    public static boolean getHtmlByurl(String u,String charset,String htmlPath) {

        boolean flag=false;
        BufferedWriter writer=null;
        BufferedReader reader=null;
        InputStream  in=null;

        try {
            URL url=new URL(u);//建立网络连接
            URLConnection uc=url.openConnection();//打开网络连接
            //文件的传输
            in=uc.getInputStream();//建立文件输入流
             reader=new BufferedReader(new InputStreamReader(in));//缓存

            //创建一个临时文件
            String line=null;
            StringBuffer sb=new StringBuffer();
            while((line=reader.readLine())!=null){

                sb.append(line+"\n");//保存

            }


            //创建一个文件
            File file=new File(htmlPath);
            //输出
            writer=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file)));

            writer.write(sb.toString());

            flag=true;
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{

            try {
                if(writer!=null){
                    writer.close();
                }
                if(reader!=null){
                    reader.close();
                }
                if(in!=null){
                    in.close();
                }
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        }


        return flag;
    }



    //主函数
    public static void main(String[] args) {
        getHtmlByurl("http://www.qq.com", "gbk", "C:/test/q.html");
    }



}

猜你喜欢

转载自blog.csdn.net/qq_41251963/article/details/82354273