package download.demo;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
public class URLConncetionDemo {
public URLConncetionDemo() {
// TODO Auto-generated constructor stub
}
/**
* @param args
* @throws IOException
* @throws MalformedURLException
*/
public static void main(String[] args) throws MalformedURLException, IOException {
// TODO Auto-generated method stub
/*
* 获取网络文件的连接、大小以及其输入流
*
* java.net.URL.URL(String spec) throws MalformedURLException
*
* InputStream java.net.URL.openStream() throws IOException: 获取流
*
* URLConnection java.net.URL.openConnection() throws IOException
*
* int java.net.URLConnection.getContentLength(): 获取context-length的值
*
* InputStream java.net.URLConnection.getInputStream() throws IOException
*
* long java.io.InputStream.skip(long n) throws IOException: 定位开始输入流
*
* int java.io.InputStream.available() throws IOException:
* 返回此输入流下一个方法调用可以不受阻塞地从此输入流读取(或跳过)的估计字节数。
*
* **********
*
* 在文件下载线程中,对URL文件的连接设计方式有两种: 单连接和多连接。使用前一种设计方式
* 在程序中只存在一个对URL的连接,在线程的构造中,传递参数有输入流、开始位置和结束位置。
* 使用第二种设计方式时,在每个线程中都会打开独立的连接,传参有:URL字串、开始位置和结束位置
* 并且在调度线程中保留一个连接用以指定下载线程的下载位置。第二种设计中对系统的开销比较大,
* 但第一种可能会造出的情况时,下载时的彼此影响(指向同一个InputStream对象)
*/
URLConnection con = new URL("文件的URL路径").openConnection();
con.getContentLength();
con.getInputStream().skip(1024);
//其他
new URL("").openStream().available();
}
}
最近下载更多
最近浏览更多
snowing_for LV9
2024年11月25日
刘先生-OL LV13
2024年11月25日
刘孟飞 LV22
2024年6月21日
pangzhihui LV14
2023年12月14日
愚人劫 LV1
2023年5月30日
Xgcxgc LV1
2023年3月28日
xingxing1234 LV10
2023年3月22日
liuind
2023年3月17日
暂无贡献等级
MoonSight LV1
2022年7月1日
fantaohaofan LV2
2022年6月23日

