java 根据Url下载对应的文件到指定位置,读txt文件获取url

package test;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.List;

public class testFile {
    //public static void main(String[] args) throws Exception {    
        // TODO Auto-generated method stub    
   //      download("http://avatar.csdn.net/1/3/B/1_li1325169021.jpg", "1_li1325169021.jpg","d:\image\");    
   // }   
    //链接url下载图片  
     public static void download(String urlString, String filename,String savePath) throws Exception {    
            // 构造URL    
            URL url = new URL(urlString);    
            // 打开连接    
            URLConnection con = url.openConnection();    
            //设置请求超时为5s    
            con.setConnectTimeout(5*1000);    
            // 输入流    
            InputStream is = con.getInputStream();    
            
            // 1K的数据缓冲    
            byte[] bs = new byte[1024];    
            // 读取到的数据长度    
            int len;    
            // 输出的文件流    
           File sf=new File(savePath);    
           if(!sf.exists()){    
               sf.mkdirs();    
           }    
           OutputStream os = new FileOutputStream(sf.getPath()+"\"+filename);    
            // 开始读取    
            while ((len = is.read(bs)) != -1) {    
              os.write(bs, 0, len);    
            }    
            // 完毕,关闭所有链接    
            os.close();    
            is.close();    
        }     
    
    
    public static void main(String[] args) {
          try {
           // 将D:/test.txt文件读取到输入流中
           InputStream input = new FileInputStream("C:/Users/Admin/Desktop/路径.txt");
           InputStream inputTwo = new FileInputStream("C:/Users/Admin/Desktop/文件名.txt");
           // 创建BufferedReader,以gb2312的编码方式读取文件
           BufferedReader reader = new BufferedReader(new InputStreamReader(input, "utf-8"));
           BufferedReader readerTwo = new BufferedReader(new InputStreamReader(inputTwo, "utf-8"));
           List<fileUrl> fileUrl = new ArrayList<fileUrl>();//图片路径List
           List<fileUrlTwo> fileUrlTwo = new ArrayList<fileUrlTwo>();//图片名称List
           String line = null;
           String lineTwo = null;
           // 按行读取文本,直到末尾(一般都这么写)
           while ((line = reader.readLine()) != null) {
            // 打印当前行字符串
               fileUrl ff = new fileUrl();
               ff.setPathUrl(line);
               fileUrl.add(ff);
           }
           while ((lineTwo = readerTwo.readLine()) != null) {
               // 打印当前行字符串
               lineTwo = lineTwo.substring(lineTwo.lastIndexOf("/")+1,lineTwo.length());
               fileUrlTwo fg = new fileUrlTwo();
               fg.setFileName(lineTwo);
               fileUrlTwo.add(fg);
              }
           String savePath = "D:\text\";//保存本地url
           for(int i=0; i<246;i++){//下载条数,现给的死值,可根据list.size()获取
               String fileurl = fileUrl.get(i).getPathUrl();//下载路径
               String pathName = fileUrlTwo.get(i).getFileName();//图片名称
               System.out.println("图片下载Url:"+fileurl+"图片保存对应名称:"+pathName);
               download(fileurl,pathName,savePath);
           }
           
          } catch (Exception e) {
           e.printStackTrace();
          }
         }
    
}