Java网络编程从入门到精通(24):实现HTTP断点续传下载工具(二)

2014-11-24 00:05:12 · 作者: · 浏览: 1
* getIntHeader方法
028 */
029 }


上面的代码只是HttpDownload类的框架代码,其中的方法并未直正实现。我们可以从中看出第012、014、021和023行就是上述的四个主要的方法。在016和018行的addHeaderToMap和analyzeFirstLine方法将在analyzeHttpHeader方法中用到。而025和027行的getHeader和getIntHeader方法在getFileSize和download方法都会用到。上述的八个方法的实现都会在后面给出。

001 private void generateHttpRequest(OutputStream out, String host,
002 String path, long startPos) throws IOException
003 {
004 OutputStreamWriter writer = new OutputStreamWriter(out);
005 writer.write("GET " + path + " HTTP/1.1 ");
006 writer.write("Host: " + host + " ");
007 writer.write("Accept: */* ");
008 writer.write("User-Agent: My First Http Download ");
009 if (startPos > 0) // 如果是断点续传,加入Range字段
010 writer.write("Range: bytes=" + String.valueOf(startPos) + "- ");
011 &