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;
             
               }
              }

你可能感兴趣的:(javaWeb)