JAVA程序网络图片下载

来源:互联网 发布:英语单词翻译软件语音 编辑:程序博客网 时间:2024/05/16 11:57
package action;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.FileOutputStream;import java.net.HttpURLConnection;import java.net.URL;public class Getpic {public Getpic() {}public static boolean saveUrlAs(String fileUrl, String savePath)/* fileUrl网络资源地址 */{try {/* 将网络资源地址传给,即赋值给url */URL url = new URL(fileUrl);/* 此为联系获得网络资源的固定格式用法,以便后面的in变量获得url截取网络资源的输入流 */HttpURLConnection connection = (HttpURLConnection) url.openConnection();DataInputStream in = new DataInputStream(connection.getInputStream());/* 此处也可用BufferedInputStream与BufferedOutputStream  需要保存的路径*/DataOutputStream out = new DataOutputStream(new FileOutputStream(savePath));/* 将参数savePath,即将截取的图片的存储在本地地址赋值给out输出流所指定的地址 */byte[] buffer = new byte[4096];int count = 0;while ((count = in.read(buffer)) > 0)/* 将输入流以字节的形式读取并写入buffer中 */{out.write(buffer, 0, count);}out.close();/* 后面三行为关闭输入输出流以及网络资源的固定格式 */in.close();connection.disconnect();return true;/* 网络资源截取并存储本地成功返回true */} catch (Exception e) {System.out.println(e + fileUrl + savePath);return false;}}public static void main(String[] args) {Getpic pic = new Getpic();/* 创建实例 *///需要下载的URLString photoUrl = "http://hiphotos.baidu.com/yanshennan/pic/item/03a505c8bcbaf6557f3e6f8a.jpg";// 截取最后/后的字符串String fileName = photoUrl.substring(photoUrl.lastIndexOf("/"));//图片保存路径String filePath = "E:";/* 调用函数,并且进行传参 */boolean flag = pic.saveUrlAs(photoUrl, filePath + fileName);System.out.println("Run ok!\n Get URL file " + flag);System.out.println(filePath);System.out.println(fileName);}}