java HttpURLConnection獲取網頁流並保存到本地文件, &&字符串打印並保存的效果

package catchutr;

/**
*
* @Description:HttpURLConnection獲取網頁文字並保存到本地  對比字符串打印並保存
* @Title: UrlHttp.java
* @Package catchutr
* @version V1.0
* @author luoyang QQ1845313665
* @date 2020年5月7日下午5:26:34
*
*/
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

import org.omg.CORBA.portable.InputStream;

public class UrlHttp {
    
    /**
     * @param args
     */
    public static void main(String args[]) {
        
   
    String s1="http://www.ltsw888.com/book_208/";

     try {
          //實例化一個URL對象
          URL url = new URL(s1);
          //用於創建HttpURLConnection
          HttpURLConnection connect = (HttpURLConnection) url.openConnection();
          //設置爲GET方式請求數據
          connect.setRequestMethod("GET");
          //設置3秒的響應超時
          connect.setConnectTimeout(6000);
          //獲取連接,連接響應碼爲200,表示連接成功
          connect.connect();
          int code=connect.getResponseCode();
          System.out.println("--------------------------------------"+code);
          
          if(code ==200) {
              //獲取服務端返回的數據流
              java.io.InputStream in =  connect.getInputStream();
              
              
            int num = 0;
            FileOutputStream fos = new FileOutputStream(new File("D:\\yest.html"));

            byte bytes[] =new byte[1*1024];
            int readSize =-1;

            while((readSize = in.read(bytes))!=-1){
                  //寫入文件
                 fos.write(bytes, 0, readSize);
                 System.out.print((num++)+"-");
            }
            //關閉流
            fos.close();    
              
              //轉成字符串打印並保存
            
//              //讀取流,並設置編碼格式
//              InputStreamReader read = new InputStreamReader(connect.getInputStream(),"UTF-8");
//              //InputStreamReader read = new InputStreamReader(connect.getInputStream());
//             
//            //儲存在BufferedReader中,並打印地址值
//              BufferedReader buffer = new BufferedReader(read);
//              System.out.println(buffer.toString());
//             
//                //新建String字符串存儲實例,
//              StringBuffer buf = new StringBuffer();
//      
//              //該代碼塊註釋,上一個while與下一個while語句有衝突
//               String line = null;
//               while((line=buffer.readLine())!=null) {
//                   //裝在進String字符串,
//                    buf.append(line);
//                    //打印每一行的Buffered
//                 System.out.println(line);
//               }
//
//               //把字符串buffer寫入文件 寫入可能會亂碼
//              FileWriter fos1 = new FileWriter(new File("D:\\yest1.html"));
//              fos1.write(buf.toString());  
//              fos1.close();
//              
//              //關閉各種流
//              buffer.close();
//              read.close();
              
              in.close();
              
          }
     } catch (MalformedURLException e) {
          e.printStackTrace();
     } catch (IOException e) {
          e.printStackTrace();
     }
     }
}

一個程序員的自我修養和成長........

在這裏可以找到我,微信公衆號。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章