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日