package com.coderising.download.impl;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import com.coderising.download.api.Connection;
public class ConnectionImpl implements Connection {
private HttpURLConnection httpURLConnection;
public ConnectionImpl(String url) throws MalformedURLException, IOException {
httpURLConnection = (HttpURLConnection) new URL(url).openConnection();
}
@Override
public byte[] read(int startPos, int endPos) throws IOException {
httpURLConnection.setRequestProperty("Range", "bytes=" + startPos + "-" + endPos);
System.out.println("开始:" + startPos + "-----结束:" + endPos);
RandomAccessFile raf = new RandomAccessFile(new File("D:\\aaa.jpg"), "rw");
raf.seek(startPos);
BufferedInputStream is = new BufferedInputStream(httpURLConnection.getInputStream());
int length = 0;
byte[] b = new byte[1024];
while ((length = is.read(b, 0, b.length)) != -1) {
raf.write(b, 0, length);
}
raf.close();
return null;
}
@Override
public int getContentLength() {
return httpURLConnection.getContentLength();
}
@Override
public void close() {
}
}