Java-单线程实现图片的下载
2016-06-07 20:32
531 查看
package src;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.RandomAccessFile;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.io.*;
/*
* 2016年6月7日19:15:30
* author:toreadwh
* */
public class OneThread {
//单线程下载图片实例
private static String path ="http://192.168.199.1:8080/zuimei/2.jpg";
public static void main(String[] args){
try {
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5000);
if(conn.getResponseCode() == 200){
InputStream in = conn.getInputStream();
byte[] buf = readInputstream(in);
File file = new File("2.jpg");
FileOutputStream fos = new FileOutputStream(file);
fos.write(buf);
in.close();
fos.close();
System.out.println("图片已下载成功!");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private static byte[] readInputstream(InputStream in) throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int len = 0;
byte[] buf = new byte[1024];
while((len = in.read(buf))>0){
baos.write(buf,0,len);
}
return baos.toByteArray();
}
}
/*单线程下载图片
* 总结:
* 1.如果要下载图片,我们首先要获取图片的地址(这里Tomcat)
* 2.HttpURLConnection 取得与服务器的连接
* 3.使用conn得到一个输入流
* 4.创建一个文件和一个文件输出流
* 5.readInputstream()方法:对流内容的读取,返回一个字节数组
* */
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.RandomAccessFile;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.io.*;
/*
* 2016年6月7日19:15:30
* author:toreadwh
* */
public class OneThread {
//单线程下载图片实例
private static String path ="http://192.168.199.1:8080/zuimei/2.jpg";
public static void main(String[] args){
try {
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5000);
if(conn.getResponseCode() == 200){
InputStream in = conn.getInputStream();
byte[] buf = readInputstream(in);
File file = new File("2.jpg");
FileOutputStream fos = new FileOutputStream(file);
fos.write(buf);
in.close();
fos.close();
System.out.println("图片已下载成功!");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private static byte[] readInputstream(InputStream in) throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int len = 0;
byte[] buf = new byte[1024];
while((len = in.read(buf))>0){
baos.write(buf,0,len);
}
return baos.toByteArray();
}
}
/*单线程下载图片
* 总结:
* 1.如果要下载图片,我们首先要获取图片的地址(这里Tomcat)
* 2.HttpURLConnection 取得与服务器的连接
* 3.使用conn得到一个输入流
* 4.创建一个文件和一个文件输出流
* 5.readInputstream()方法:对流内容的读取,返回一个字节数组
* */
相关文章推荐
- 从服务器中下载图片
- HttpURLConnection下载Demo,实测有效。
- 实现从oss(阿里云)服务器以附件形式下载文件(含批量下载)
- JDK7安装和配置 JAVA JDK7安装配置教程
- HttpURLConnection实现多线程下载
- android中使用HttpURLConnection实现多线程下载
- java 读取mongo数据库数据并直接下载,省略中间文件
- Java-实现多线程下载
- java文件下载,中文不显示
- 整理java文件下载(中文乱码、火狐浏览器乱码、空格变+号、文件名包含空格时文件名可能显示不全等问题)
- jmeter下载及安装配置
- Java设计模式之模板模式(Template )
- 理解java垃圾回收机制
- Spring常用注解(讲解的通俗易懂,很透彻)
- extjs ajax java简单精美验证码实现 有图
- Java 2D API - 1. 基本概念
- SpringMvc+Spring+MyBatis+Maven整合
- spring+springMVC+hibernate 三大框架整合
- 从eclipse转android studio遇到的坑
- spring+springMVC集成(annotation方式)