URIのファイルをダウンロードする
import java.io.*;
import java.net.URL;
import java.net.HttpURLConnection;
import java.io.ByteArrayOutputStream;
/*
http://aaa.bb.cc/xx/y/zzz/xyz1.jpgから
http://aaa.bb.cc/xx/y/zzz/xyz20.jpgまでを、ダウンロードするプログラム例です。
*/
public class HttpDownload {
public static void main(String []z){
for(int n=1; n<=20; n++){
String uri ="http://aaa.bb.cc/xx/y/zzz/xyz"+n+".jpg";
int i = uri.lastIndexOf("/")+1;
String path = uri.substring(i);
if(save(uri,path) == false)break;
}
}
public static boolean save(String uri, String filePath){
StringBuffer sb = new StringBuffer();
try{
System.out.println(uri + "の取得です。");
URL url = new URL( uri);
HttpURLConnection urlconn = (HttpURLConnection)url.openConnection();
urlconn.setRequestMethod("GET");
urlconn.setInstanceFollowRedirects(false);
urlconn.setRequestProperty("Accept-Language", "ja;q=0.7,en;q=0.3");
urlconn.setConnectTimeout(4000);//4秒
urlconn.connect();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
InputStream is = urlconn.getInputStream();
for(int c; (c=is.read()) != -1; ){
baos.write(c); //byte単位で、ダウンロード
//System.out.print( c);
}
is.close();
urlconn.disconnect();
//保存
System.out.println(filePath + "で保存します。");
FileOutputStream fos=new FileOutputStream(filePath);
fos.write(baos.toByteArray() );
fos.close();
}
catch(Exception err){
err.printStackTrace();
return false;
}
return true;
}
}