77. db.execSQL("delete from SmartFileDownlog where downpath=?", new Object
[]{path});
78. db.close();
79. }
80.
81. }
82.
83.
84. package com.smart.impl;
85. import java.io.File;
86. import java.io.RandomAccessFile;
87. import java.net.HttpURLConnection;
88. import java.net.URL;
89. import java.util.LinkedHashMap;
90. import java.util.Map;
91. import java.util.UUID;
92. import java.util.concurrent.ConcurrentHashMap;
93. import java.util.regex.Matcher;
94. import java.util.regex.Pattern;
95. import android.content.Context;
96. import android.util.Log;
97. import com.smart.db.FileService;
98. /**
99. * 文件下载器
100. * @author lihuoming@sohu.com
101. */
102. public class SmartFileDownloader {
103. private static final String TAG = "SmartFileDownloader";
104. private Context context;
105. private FileService fileService;
106. /* 已下载文件长度 */
107. private int downloadSize = 0;
108. /* 原始文件长度 */
109. private int fileSize = 0;
110. /* 线程数 */
111. private SmartDownloadThread[] threads;
112. /* 本地保存文件 */
113. private File saveFile;
114. /* 缓存各线程下载的长度*/
115. private Map<Integer, Integer> data = new ConcurrentHashMap<Integer, In
teger>();
116. /* 每条线程下载的长度 */
117. private int block;
118. /* 下载路径 */