知识大全 用Java实现HTTP断点续传功能(3)
Posted 知
篇首语:有了知识不运用,等于耕耘播种。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 用Java实现HTTP断点续传功能(3)相关的知识,希望对你有一定的参考价值。
用Java实现HTTP断点续传功能(3) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
/*
**FileSplitterFetch java
*/
package NetFox;
import java io *;
import *;
public class FileSplitterFetch extends Thread
String sURL; //File URL
long nStartPos; //File Snippet Start Position
long nEndPos; //File Snippet End Position
int nThreadID; //Thread s ID
boolean bDownOver = false; //Downing is over
boolean bStop = false; //Stop identical
FileAccessI fileAccessI = null; //File Access interface
public FileSplitterFetch(String sURL String sName long nStart long nEnd int id) throws IOException
this sURL = sURL;
this nStartPos = nStart;
this nEndPos = nEnd;
nThreadID = id;
fileAccessI = new FileAccessI(sName nStartPos);
public void run()
while(nStartPos < nEndPos && !bStop)
try
URL url = new URL(sURL);
HttpURLConnection Connection = (HttpURLConnection)url openConnection ();
( User Agent NetFox );
String sProperty = bytes= +nStartPos+ ;
( RANGE sProperty);
Utility log(sProperty);
InputStream input = ();
//logResponseHead(Connection);
byte[] b = new byte[ ];
int nRead;
while((nRead=input read(b )) > && nStartPos < nEndPos && !bStop)
nStartPos += fileAccessI write(b nRead);
//if(nThreadID == )
// Utility log( nStartPos = + nStartPos + nEndPos = + nEndPos);
Utility log( Thread + nThreadID + is over! );
bDownOver = true;
//nPos = fileAccessI write (b nRead);
catch(Exception e)e printStackTrace ();
//打印回应的头信息
public void logResponseHead(HttpURLConnection con)
for(int i= ;;i++)
String header=con getHeaderFieldKey(i);
if(header!=null)
//responseHeaders put(header (header));
Utility log(header+ : +con getHeaderField(header));
else
break;
public void splitterStop()
bStop = true;
/*
**FileAccess java
*/
package NetFox;
import java io *;
public class FileAccessI implements Serializable
RandomAccessFile oSavedFile;
long nPos;
public FileAccessI() throws IOException
this( );
public FileAccessI(String sName long nPos) throws IOException
oSavedFile = new RandomAccessFile(sName rw );
this nPos = nPos;
oSavedFile seek(nPos);
public synchronized int write(byte[] b int nStart int nLen)
int n = ;
try
oSavedFile write(b nStart nLen);
n = nLen;
catch(IOException e)
e printStackTrace ();
return n;
/*
**SiteInfoBean java
*/
package NetFox;
public class SiteInfoBean
private String sSiteURL; //Site s URL
private String sFilePath; //Saved File s Path
private String sFileName; //Saved File s Name
private int nSplitter; //Count of Splited Downloading File
public SiteInfoBean()
//default value of nSplitter is
this( );
public SiteInfoBean(String sURL String sPath String sName int nSpiltter)
sSiteURL= sURL;
sFilePath = sPath;
sFileName = sName;
this nSplitter = nSpiltter;
public String getSSiteURL()
return sSiteURL;
public void setSSiteURL(String value)
sSiteURL = value;
public String getSFilePath()
return sFilePath;
public void setSFilePath(String value)
sFilePath = value;
public String getSFileName()
return sFileName;
public void setSFileName(String value)
sFileName = value;
public int getNSplitter()
return nSplitter;
public void setNSplitter(int nCount)
nSplitter = nCount;
/*
**Utility java
*/
package NetFox;
public class Utility
public Utility()
public static void sleep(int nSecond)
try
Thread sleep(nSecond);
catch(Exception e)
e printStackTrace ();
public static void log(String sMsg)
System err println(sMsg);
public static void log(int sMsg)
System err println(sMsg);
/*
**TestMethod java
*/
package NetFox;
public class TestMethod
public TestMethod()
///xx/weblogic b _win exe
try
SiteInfoBean bean = new SiteInfoBean( L:\\\\temp weblogic b _win exe );
//SiteInfoBean bean = new SiteInfoBean( L:\\\\temp weblogic b _win exe );
SiteFileFetch fileFetch = new SiteFileFetch(bean);
fileFetch start();
catch(Exception e)e printStackTrace ();
public static void main(String[] args)
new TestMethod();
cha138/Article/program/Java/hx/201311/26866
相关参考
/** *authorannegu *date */ annegu做了一个简单的Http多线程的下载程序来讨论一下多线程并发下载以及断点续传的问题 这个程序的功能就是可以分多个线程从目标
用Java实现断点续传(HTTP) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 断点续传的原理
如何使用.NET实现断点续传功能 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 顾名思义断点续传
(一)断点续传的原理 其实断点续传的原理很简单就是在Http的请求上和一般的下载有所不同而已 打个比方浏览器请求服务器上的一个文时所发出的请求如下 假设服务器域名为文件名为downzip
使用VisualC#实现断点续传 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs
/* **SiteFileFetchjava */ packageNetFox; importjavaio*; import*; publicclassSiteFileFetc
PHP下载远程文件类(支持断点续传) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! PHP下载远
Java网络编程从入门到精通(24):实现HTTP断点续传下载工具(附源代码) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,
在vs中我们可以直接用表达式数值型比较直接用操作符即可 如i==i<; 但是字符型比较呢? 加入我们有一个名为string的变量定义如下: char*string=Two; 设置断
知识大全 QQ传文件的时候突然电脑关机,那么重启后还能续传么
QQ传文件的时候突然电脑关机,那么重启后还能续传么?紧急求救! 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来