一个java实现的简单文件下载程序
来源:互联网 发布:安卓变女声软件 编辑:程序博客网 时间:2024/05/16 10:29
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
public class ReadInternetFile
{
public ReadInternetFile()
{
// TODO Auto-generated constructor stub
}
public URL getUrl()
{
return this.url;
}
public void setUrl() throws MalformedURLException
{
String url = null;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try
{
url = br.readLine();
this.url = new URL(url);
}
catch (IOException e)
{
e.printStackTrace();
}
}
public void setFileSaveName(URL url)
{
String file = url.getFile();
this.fileName = file.substring(file.lastIndexOf("/") + 1);
}
private String getFileName()
{
return this.fileName;
}
private URL url = null;
private static final String fileSavePath = "E:\\myftp\\download\\";
private String fileName = null;
public static void main(String []args)
{
Long start = System.currentTimeMillis();
System.out.println("please input the url of the file:");
ReadInternetFile fileReader = new ReadInternetFile();
try
{
fileReader.setUrl();
URL fileUrl = fileReader.getUrl();
fileReader.setFileSaveName(fileUrl);
HttpURLConnection conn = (HttpURLConnection)fileUrl.openConnection();
conn.setConnectTimeout(5000);
DataInputStream din = new DataInputStream(conn.getInputStream());
String savedFileName = fileReader.getFileName();
DataOutputStream dout = new DataOutputStream(new FileOutputStream(fileSavePath + savedFileName));
BufferedInputStream bin = new BufferedInputStream(din,4096);
BufferedOutputStream bout = new BufferedOutputStream(dout);
byte [] buffer = new byte[4*1024];
int count = 0;
while ((count = bin.read(buffer)) > 0)
{
//如果使用bout.write(buffer)方法图片会失真,而且下载的速度快慢与否与网络环境有很大的关系,
// dout.write(buffer, 0, count);
bout.write(buffer,0,count);
}
bout.close();
bin.close();
conn.disconnect();
System.out.println("file " + savedFileName + " successfully downloaded !");
System.out.println("Time used:" + (System.currentTimeMillis() - start));
}
catch (MalformedURLException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
public class ReadInternetFile
{
public ReadInternetFile()
{
// TODO Auto-generated constructor stub
}
public URL getUrl()
{
return this.url;
}
public void setUrl() throws MalformedURLException
{
String url = null;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try
{
url = br.readLine();
this.url = new URL(url);
}
catch (IOException e)
{
e.printStackTrace();
}
}
public void setFileSaveName(URL url)
{
String file = url.getFile();
this.fileName = file.substring(file.lastIndexOf("/") + 1);
}
private String getFileName()
{
return this.fileName;
}
private URL url = null;
private static final String fileSavePath = "E:\\myftp\\download\\";
private String fileName = null;
public static void main(String []args)
{
Long start = System.currentTimeMillis();
System.out.println("please input the url of the file:");
ReadInternetFile fileReader = new ReadInternetFile();
try
{
fileReader.setUrl();
URL fileUrl = fileReader.getUrl();
fileReader.setFileSaveName(fileUrl);
HttpURLConnection conn = (HttpURLConnection)fileUrl.openConnection();
conn.setConnectTimeout(5000);
DataInputStream din = new DataInputStream(conn.getInputStream());
String savedFileName = fileReader.getFileName();
DataOutputStream dout = new DataOutputStream(new FileOutputStream(fileSavePath + savedFileName));
BufferedInputStream bin = new BufferedInputStream(din,4096);
BufferedOutputStream bout = new BufferedOutputStream(dout);
byte [] buffer = new byte[4*1024];
int count = 0;
while ((count = bin.read(buffer)) > 0)
{
//如果使用bout.write(buffer)方法图片会失真,而且下载的速度快慢与否与网络环境有很大的关系,
// dout.write(buffer, 0, count);
bout.write(buffer,0,count);
}
bout.close();
bin.close();
conn.disconnect();
System.out.println("file " + savedFileName + " successfully downloaded !");
System.out.println("Time used:" + (System.currentTimeMillis() - start));
}
catch (MalformedURLException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
- 一个java实现的简单文件下载程序
- java实现简单的文件下载
- 一个简单的下载程序
- 在Java中使用多线程结合断点续传实现一个简单的文件下载器
- 简单的下载文件程序
- 一个简单的多线程、断点下载Java程序
- Java实现的一个简单的下载器
- Java实现的一个简单的下载器
- Java实现网络文件下载的简单示例
- 使用Java程序来实现HTTP文件的队列下载
- 使用Java程序来实现HTTP文件的队列下载
- 怎样用java写一个简单的文件复制程序
- 用java实现的一个简单的定时报警程序
- 用Java实现一个简单的服务器与客户端程序
- 利用java实现一个简单的远程监控程序
- 利用java实现一个简单的远程监控程序
- 用java实现的一个简单web服务器程序
- 用Java实现一个简单的服务器与客户端程序
- Bilateral Contract
- Silverlight本地化(二)
- Qt笔记之绘图坐标(1)
- AviBerry服务无法启动的解决
- was 对象高速缓存的错误
- 一个java实现的简单文件下载程序
- ashx中使用HttpContext.Current.Session ,出现未将对象引用设置到实例
- 遍历字符串应该取出字符
- NodeJS 安装Express
- 10 个你需要了解的项目管理工具
- 第六章:Android组件之间的信使Intent
- 剖析“持续交付”:五个核心实践
- 图片上传到数据库
- javascript数组操作大全,数组方法总汇