package com.zhen;
import java.io.InputStream;
import java.io.RandomAccessFile;
import java.net.URL;
import java.net.URLConnection;
/**
* 实现了文件的单线程下载,如果是基于HttpURLConnection与线程可以实现多线程下载<br>
* 有时间继续
* @author zhenjw
* @createDate 2009-11-6 上午11:01:34
* @since 1.0
* @version 1.0
*/
public class DownLoadNetFile {
/**功能:
* @param args
* @author zhenjw
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
downLoad("http://www.tingclass.com/lesson/download.asp?chid=8&lessid=1178&mp3=poisonoussnakes.mp3"
,"E:/zhen/mp3/english/1178/test/poisonoussnakes.mp3");
}
public static void downLoad(String url,String localFullName)
{
String result = "";
try {
URL uRL = new URL(url);
URLConnection connection = uRL.openConnection();
connection.setDoInput(true);
connection.connect();
int startPos=0;
int read=0;
InputStream input = connection.getInputStream();
//取页面内容的大小
int endPos=connection.getContentLength();
//读取文件,如果文件不存在就创建新的文件。
RandomAccessFile oSavedFile= new RandomAccessFile(localFullName, "rw");
byte[] b = new byte[1024];
//写入指定的文件中,
while ((read = input.read(b, 0, 1024)) > 0
&& startPos < endPos ) {
oSavedFile.write(b, 0, read);
startPos += read;
}
} catch (Exception e) {
e.printStackTrace();
result = null;
}
}
}
实现网络文件的下载功能
最新推荐文章于 2019-06-03 10:39:47 发布