---> 不支持多线程
---> 依赖32位jdk,windows 和jna.jar
---> 依赖 XLDownload.dll, zlib1.dll 放置项目跟目录。不是src下,可以为绝对路径
package com.leunpha;
import com.sun.jna.Native;
import com.sun.jna.NativeLong;
import com.sun.jna.WString;
import com.sun.jna.ptr.LongByReference;
import com.sun.jna.ptr.NativeLongByReference;
import com.sun.jna.win32.StdCallLibrary;
import java.util.*;
import java.util.concurrent.*;
import java.util.concurrent.atomic.AtomicInteger;
public class XLDownLoader {
String FileName;
String Url;
long task;
/**
*
* @param FileName saved file path
* @param Url pre-downloaded url
* @param task taskid
*/
public XLDownLoader( String FileName,String Url,long task){
this.FileName=FileName;
this.Url=Url;
this.task=task;
}
public interface XLDownload extends StdCallLibrary {
public boolean XLInitDownloadEngine();
public int XLURLDownloadToFile(WString pszFileName, WString pszUrl, WString pszRefUrl, NativeLongByReference lTaskId);
public int XLQueryTaskInfo(NativeLong lTaskId, NativeLongByReference plStatus, LongByReference pullFileSize, LongByReference pullRecvSize);
public int XLPauseTask(long lTaskId, NativeLongByReference lNewTaskId);