java資源下載

 關於下載的思路

創建一個類+main方法

    public class Test(){

    public static void main(String[] args){

1.獲取到下載圖片的網頁地址

    URL url= new URL("要下載的文件網址");
    Inputstream is = url.openStream();



//使用內存輸出流,把所有字節寫到內存中,再轉換成字符串


    ByteArrayOutputStrem bos = new ByteArrayOutputStream();

//文件讀寫

     int len;
     byte[] arr = new byte[8192];

     while((len=is.read(arr))!=-1){

     bos.writer(arr,0,len);

      }

// 關閉流

              is.close();


//把內存輸出流轉換成字符流

              String str = bos.toString();

        system.out.prinln(str);


2.使用正則表達式,獲取到這個網頁中的所有圖片鏈接

//定義一個正則表達式來匹配要下載圖片網站的地址

        String regex = "要下載文件的網址";
  
  //匹配對象

          pattern p = pattern.compile(regex);

           matcher m = p.matcher(str);

//循環查找符合正則的內容
    
           while(m.find()){  

                String link = m.group();

             system.out.println(link);
           
              download(link);
              }
                system.out.println("圖片下載完成!");

             }
3.使用下載文件的功能,把圖片下載到本地

  //定義一個方法,把鏈接中的文件下載到本地

            public static void download(String path) throws exception{

//指定下載入徑並判斷下載的文件夾是否存在,不在就創建
  
             File dir = new File(指定下載的路徑);


              if(!dir.exists()){
                        dir.mkdir()
                     
                   }
//創建URL對象
               URL url = new URL(path);

//獲取輸入流
             InputStream is = url.openStream();

//設置系統時間毫秒值
               long time = system.currenTimeMillis();
             

//創建一個輸出流

               File destFile = new  File(dir,"注意文件後綴不要錯");

                 FileOutputStream fos = new FileOutputStream(destFile);  

//讀寫文件
               int len;

                byte[] arr = new byte[8192];
 //循環讀寫文件
                   while((len=is.read(arr))!=-1){

                 }

//關閉流

                     is.close;
                      fos.close;
             
               }
              }

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