需求(Java语言实现):对存有图片URL的txt文件进行逐行读取,自行下载txt文件中的图片到指定文件夹中
2017-11-03 20:10
1096 查看
所需大体知识:
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
简单粗暴,直接上源码!
url.text:
http://img1.gtimg.com/ninja/2/2017/10/ninja150920168497503.jpg
http://img1.gtimg.com/ninja/2/2017/11/ninja150967118363514.jpg http://mat1.gtimg.com/ent/0/qiyuqizh212.jpg http://img.gtimg.cn/images/hq_parts_little8_2/hushen/indexs/000001.png http://img1.gtimg.com/ninja/2/2017/11/ninja150966563028291.gif http://img1.gtimg.com/stock/pics/hv1/56/19/2248/146181101.jpg http://img1.gtimg.com/ninja/2/2017/11/ninja150966778650505.jpg http://inews.gtimg.com/newsapp_ls/0/2242516932_150120/0 http://img1.gtimg.com/ninja/2/2017/11/ninja150966867052576.jpg http://img1.gtimg.com/sports/pics/hv1/222/24/2248/146182542.jpg http://inews.gtimg.com/newsapp_ls/0/2240878073_150120/0 http://img1.gtimg.com/ninja/2/2017/11/ninja150968455899383.jpg http://img1.gtimg.com/ninja/2/2017/11/ninja150968458419986.jpg http://img1.gtimg.com/ninja/2/2017/11/ninja150968461011375.jpg http://img1.gtimg.com/ninja/2/2017/11/ninja150966940884094.jpg http://img1.gtimg.com/ninja/2/2017/11/ninja150966944955634.jpg http://img1.gtimg.com/20/2065/206596/20659639_small.jpg http://img1.gtimg.com/fashion/pics/hv1/254/18/2248/146181044.jpg http://img1.gtimg.com/fashion/pics/hv1/0/19/2248/146181045.jpg http://img1.gtimg.com/astro/pics/hv1/149/18/2248/146180939.jpg http://img1.gtimg.com/astro/pics/hv1/150/18/2248/146180940.jpg http://img1.gtimg.com/edu/pics/hv1/43/14/2248/146179813.jpg http://img1.gtimg.com/ninja/2/2017/10/ninja150839095284702.jpg http://img1.gtimg.com/kid/pics/hv1/242/230/2247/146170067.jpg http://img1.gtimg.com/kid/pics/hv1/129/27/2248/146183214.jpg http://img1.gtimg.com/kid/pics/hv1/114/233/2247/146170704.jpg http://img1.gtimg.com/kid/pics/hv1/173/233/2247/146170763.jpg http://img1.gtimg.com/kid/pics/hv1/73/14/2246/146049793.jpg http://img1.gtimg.com/news/pics/hv1/217/28/2248/146183557.jpg http://img1.gtimg.com/gamezone/pics/hv1/101/72/2248/146194661.jpg http://img1.gtimg.com/20/2064/206433/20643392_small.jpg http://img1.gtimg.com/cul/pics/hv1/14/0/2248/146176214.jpg http://img1.gtimg.com/ninja/2/2017/11/ninja150971002075013.jpg http://img1.gtimg.com/ninja/2/2017/11/ninja150966635210337.jpg http://img1.gtimg.com/rushidao/pics/hv1/252/138/2247/146146617.jpg http://img1.gtimg.com/ninja/2/2017/09/ninja150581019564795.jpg http://img1.gtimg.com/ly/pics/hv1/198/229/2247/146169768.jpg http://img1.gtimg.com/sheying/pics/hv1/221/36/2248/146185601.jpg http://img1.gtimg.com/sheying/pics/hv1/223/36/2248/146185603.jpg http://img1.gtimg.com/sheying/pics/hv1/222/36/2248/146185602.jpg http://img1.gtimg.com/sheying/pics/hv1/224/36/2248/146185604.jpg http://mat1.gtimg.com/fashion/monicajia/angelababy.jpg http://img1.gtimg.com/astro/pics/hv1/229/22/2248/146182039.jpg http://img1.gtimg.com/edu/pics/hv1/42/14/2248/146179812.jpg http://img1.gtimg.com/finance/pics/hv1/19/109/2247/146138989.jpg http://img1.gtimg.com/cul/pics/hv1/25/18/2248/146180815.jpg http://img1.gtimg.com/tech/pics/hv1/69/199/2246/146096964.jpg http://img1.gtimg.com/housenews/pics/hv1/142/19/2248/146181187.jpg http://img1.gtimg.com/auto/pics/hv1/162/11/2248/146179167.jpg http://img1.gtimg.com/rushidao/pics/hv1/95/18/2248/146180885.png http://mat1.gtimg.com/fashion/monicajia/dilireba1.jpg http://img1.gtimg.com/20/2066/206627/20662771_small4.png http://img1.gtimg.com/ent/pics/hv1/249/28/2247/146118564.jpg http://img1.gtimg.com/digi/pics/hv1/6/212/2247/146165241.jpg http://img1.gtimg.com/sports/pics/hv1/186/25/2248/146182761.jpg http://mat1.gtimg.com/www/images/qq2012/icon_yuewangga1.png http://mat1.qq.com/www/images/ind36.gif http://mat1.gtimg.com/www/images/qq2012/buliang.png http://mat1.qq.com/www/images/allskin/wmlogo.gif http://mat1.gtimg.com/www/images/qq2012/cxrz5.png http://mat1.gtimg.com/www/images/qq2012/gswj2015.jpg
Java源码:
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
public class DownloadPicture {
public static void main(String args[]) throws Exception {
//File file = new File("D:\\新建文本文档.txt");// Text文件
FileReader file=new FileReader("D:\\新建文本文档.txt");//获取文件流
BufferedReader br = new BufferedReader(file);// 构造一个BufferedReader类来读取文件
String s=null;
while ((s = br.readLine()) != null) {// 使用readLine方法,一次读一行
downImages("d:\\picture",s);
}
br.close();;
}
private static void downImages(String filePath, String imgUrl) {
// TODO Auto-generated method stub
File Dir=new File(filePath);//若存取文件夹没有,则先创建
if (!Dir.exists()) {
Dir.mkdirs();
}
//截取图片文件名
String fileName=imgUrl.substring(imgUrl.lastIndexOf('/')+1,imgUrl.length());
try {
// 文件名里面可能有中文或者空格,所以这里要进行处理。但空格又会被URLEncoder转义为加号
String urlTail = URLEncoder.encode(fileName, "UTF-8");
// 因此要将加号转化为UTF-8格式的%20
imgUrl = imgUrl.substring(0, imgUrl.lastIndexOf('/') + 1) + urlTail.replaceAll("\\+", "\\%20");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
//写出路径
File file=new File(filePath+File.separator+fileName);
try {
//获取图片URL
URL url=new URL(imgUrl);
//获得连接
URLConnection connection=url.openConnection();
//设置10秒的响应时间
connection.setConnectTimeout(10*1000);
//获得输入流
InputStream in=connection.getInputStream();
//获得输出流
BufferedOutputStream out=new BufferedOutputStream(new FileOutputStream(file));
//构建缓冲区
byte[] buf=new byte[1024];
int size;
//写入到文件
while (-1!=(size=in.read(buf))) {
out.write(buf,0,size);
}
out.close();
in.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
结果如下:
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
简单粗暴,直接上源码!
url.text:
http://img1.gtimg.com/ninja/2/2017/10/ninja150920168497503.jpg
http://img1.gtimg.com/ninja/2/2017/11/ninja150967118363514.jpg http://mat1.gtimg.com/ent/0/qiyuqizh212.jpg http://img.gtimg.cn/images/hq_parts_little8_2/hushen/indexs/000001.png http://img1.gtimg.com/ninja/2/2017/11/ninja150966563028291.gif http://img1.gtimg.com/stock/pics/hv1/56/19/2248/146181101.jpg http://img1.gtimg.com/ninja/2/2017/11/ninja150966778650505.jpg http://inews.gtimg.com/newsapp_ls/0/2242516932_150120/0 http://img1.gtimg.com/ninja/2/2017/11/ninja150966867052576.jpg http://img1.gtimg.com/sports/pics/hv1/222/24/2248/146182542.jpg http://inews.gtimg.com/newsapp_ls/0/2240878073_150120/0 http://img1.gtimg.com/ninja/2/2017/11/ninja150968455899383.jpg http://img1.gtimg.com/ninja/2/2017/11/ninja150968458419986.jpg http://img1.gtimg.com/ninja/2/2017/11/ninja150968461011375.jpg http://img1.gtimg.com/ninja/2/2017/11/ninja150966940884094.jpg http://img1.gtimg.com/ninja/2/2017/11/ninja150966944955634.jpg http://img1.gtimg.com/20/2065/206596/20659639_small.jpg http://img1.gtimg.com/fashion/pics/hv1/254/18/2248/146181044.jpg http://img1.gtimg.com/fashion/pics/hv1/0/19/2248/146181045.jpg http://img1.gtimg.com/astro/pics/hv1/149/18/2248/146180939.jpg http://img1.gtimg.com/astro/pics/hv1/150/18/2248/146180940.jpg http://img1.gtimg.com/edu/pics/hv1/43/14/2248/146179813.jpg http://img1.gtimg.com/ninja/2/2017/10/ninja150839095284702.jpg http://img1.gtimg.com/kid/pics/hv1/242/230/2247/146170067.jpg http://img1.gtimg.com/kid/pics/hv1/129/27/2248/146183214.jpg http://img1.gtimg.com/kid/pics/hv1/114/233/2247/146170704.jpg http://img1.gtimg.com/kid/pics/hv1/173/233/2247/146170763.jpg http://img1.gtimg.com/kid/pics/hv1/73/14/2246/146049793.jpg http://img1.gtimg.com/news/pics/hv1/217/28/2248/146183557.jpg http://img1.gtimg.com/gamezone/pics/hv1/101/72/2248/146194661.jpg http://img1.gtimg.com/20/2064/206433/20643392_small.jpg http://img1.gtimg.com/cul/pics/hv1/14/0/2248/146176214.jpg http://img1.gtimg.com/ninja/2/2017/11/ninja150971002075013.jpg http://img1.gtimg.com/ninja/2/2017/11/ninja150966635210337.jpg http://img1.gtimg.com/rushidao/pics/hv1/252/138/2247/146146617.jpg http://img1.gtimg.com/ninja/2/2017/09/ninja150581019564795.jpg http://img1.gtimg.com/ly/pics/hv1/198/229/2247/146169768.jpg http://img1.gtimg.com/sheying/pics/hv1/221/36/2248/146185601.jpg http://img1.gtimg.com/sheying/pics/hv1/223/36/2248/146185603.jpg http://img1.gtimg.com/sheying/pics/hv1/222/36/2248/146185602.jpg http://img1.gtimg.com/sheying/pics/hv1/224/36/2248/146185604.jpg http://mat1.gtimg.com/fashion/monicajia/angelababy.jpg http://img1.gtimg.com/astro/pics/hv1/229/22/2248/146182039.jpg http://img1.gtimg.com/edu/pics/hv1/42/14/2248/146179812.jpg http://img1.gtimg.com/finance/pics/hv1/19/109/2247/146138989.jpg http://img1.gtimg.com/cul/pics/hv1/25/18/2248/146180815.jpg http://img1.gtimg.com/tech/pics/hv1/69/199/2246/146096964.jpg http://img1.gtimg.com/housenews/pics/hv1/142/19/2248/146181187.jpg http://img1.gtimg.com/auto/pics/hv1/162/11/2248/146179167.jpg http://img1.gtimg.com/rushidao/pics/hv1/95/18/2248/146180885.png http://mat1.gtimg.com/fashion/monicajia/dilireba1.jpg http://img1.gtimg.com/20/2066/206627/20662771_small4.png http://img1.gtimg.com/ent/pics/hv1/249/28/2247/146118564.jpg http://img1.gtimg.com/digi/pics/hv1/6/212/2247/146165241.jpg http://img1.gtimg.com/sports/pics/hv1/186/25/2248/146182761.jpg http://mat1.gtimg.com/www/images/qq2012/icon_yuewangga1.png http://mat1.qq.com/www/images/ind36.gif http://mat1.gtimg.com/www/images/qq2012/buliang.png http://mat1.qq.com/www/images/allskin/wmlogo.gif http://mat1.gtimg.com/www/images/qq2012/cxrz5.png http://mat1.gtimg.com/www/images/qq2012/gswj2015.jpg
Java源码:
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
public class DownloadPicture {
public static void main(String args[]) throws Exception {
//File file = new File("D:\\新建文本文档.txt");// Text文件
FileReader file=new FileReader("D:\\新建文本文档.txt");//获取文件流
BufferedReader br = new BufferedReader(file);// 构造一个BufferedReader类来读取文件
String s=null;
while ((s = br.readLine()) != null) {// 使用readLine方法,一次读一行
downImages("d:\\picture",s);
}
br.close();;
}
private static void downImages(String filePath, String imgUrl) {
// TODO Auto-generated method stub
File Dir=new File(filePath);//若存取文件夹没有,则先创建
if (!Dir.exists()) {
Dir.mkdirs();
}
//截取图片文件名
String fileName=imgUrl.substring(imgUrl.lastIndexOf('/')+1,imgUrl.length());
try {
// 文件名里面可能有中文或者空格,所以这里要进行处理。但空格又会被URLEncoder转义为加号
String urlTail = URLEncoder.encode(fileName, "UTF-8");
// 因此要将加号转化为UTF-8格式的%20
imgUrl = imgUrl.substring(0, imgUrl.lastIndexOf('/') + 1) + urlTail.replaceAll("\\+", "\\%20");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
//写出路径
File file=new File(filePath+File.separator+fileName);
try {
//获取图片URL
URL url=new URL(imgUrl);
//获得连接
URLConnection connection=url.openConnection();
//设置10秒的响应时间
connection.setConnectTimeout(10*1000);
//获得输入流
InputStream in=connection.getInputStream();
//获得输出流
BufferedOutputStream out=new BufferedOutputStream(new FileOutputStream(file));
//构建缓冲区
byte[] buf=new byte[1024];
int size;
//写入到文件
while (-1!=(size=in.read(buf))) {
out.write(buf,0,size);
}
out.close();
in.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
结果如下:
相关文章推荐
- 基于Java语言完成:使用URL下载指定的文件保存到指定的文件夹中
- JAVA读取文件夹中CSV的URL并下载图片
- Java实现递归读取文件夹并逐行替换指定字符子串
- Java 小程序 实现网络下载图片到制定文件夹,压缩和删除文件
- java实现读取文件夹下的文件并进行排序
- 实现读取某文件夹下txt、图片,并按钮点击上一个下一个文件中的txt,图片
- 需求(Java);利用Jsoup架包获取指定网页的全部图片,并自动下载到指定文件夹中
- java如何实现在系统资源管理器中选中指定文件/文件夹?
- 用JAVA扫描指定文件夹下面所有以.txt结尾的文件,并将其绝对路径输出 .
- Java读取文件夹下的指定类型的文件(包含子文件夹)
- 用TreeView控件实现资源管理器(显示本地硬盘下所有文件夹和文件,并可以浏览图片)(示例代码下载)
- Java实现HTTP文件下载和图片(验证码)浏览
- java如何实现在系统资源管理器中选中指定文件/文件夹?
- java读取文件夹下所有文件并替换文件每一行中指定的字符串
- java中打开指定文件夹及读取文件方法
- java实现文件下载功能-----直接上图片
- 从文件夹中读取子文件夹内带有指定后缀如.bmp文件的C++实现,并读取子文件夹后缀数字
- 用TreeView控件实现资源管理器(显示本地硬盘下所有文件夹和文件,并可以浏览图片)(示例代码下载)
- Java读取文件夹下的指定类型的文件 递归筛选 包含子文件夹
- 用JAVA扫描指定文件夹下面所有以.txt结尾的文件,并将其绝对路径输出