package com.coderising.download.impl;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import com.coderising.download.api.Connection;
import com.coderising.download.api.ConnectionException;
import com.coderising.download.api.ConnectionManager;
public class ConnectionManagerImpl implements ConnectionManager {
@Override
public Connection open(String url) throws ConnectionException {
try {
URL urlObj = new URL(url);
HttpURLConnection conn = (HttpURLConnection)urlObj.openConnection();
//超时
conn.setConnectTimeout(3*1000);
//conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
conn.setRequestMethod("GET");
return new ConnectionImpl(conn);
} catch (Exception e) {
throw new ConnectionException();
}
}
public static void main(String[] args) throws ConnectionException, IOException {
ConnectionManager cm = new ConnectionManagerImpl();
Connection conn = cm.open("http://localhost:8080/ForDownload/test.jpg");
System.out.println(conn.getContentLength());
byte[] content = conn.read(0, conn.getContentLength()-1);
OutputStream os = new FileOutputStream("d:test.jpg");
os.write(content);
os.flush();
conn.close();
os.close();
}
}