importjava.io.File;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStream;importjava.io.OutputStream;importjava.net.HttpURLConnection;importjava.net.URL;importjava.net.URLConnection;importjava.util.Date;importjava.util.concurrent.LinkedBlockingQueue;public class RunnableImg extendsThread{privateThread t;privateString threadName;
LinkedBlockingQueuequeue;
RunnableImg(LinkedBlockingQueuequeue,String name) {this.queue=queue;
threadName=name;
System.out.println("Creating "+threadName);
}
@Overridepublic voidrun() {//TODO Auto-generated method stub
Date d = newDate();
System.out.println("Running "+threadName);while(true) {try{
ImgInfo currentimg=queue.take();
System.out.println(threadName+" "+currentimg.urlString+" is downloading");
URL url= newURL(currentimg.urlString);
HttpURLConnection con=(HttpURLConnection) url.openConnection();
InputStream is=con.getInputStream();intlen;
String saveImgPath= "G:\\"+currentimg.dirName;
File sf= newFile(saveImgPath);if (!sf.exists()) {
sf.mkdirs();
}
String loadPath= sf.getPath()+"\\"+currentimg.md5String+".jpg";
File check= newFile(loadPath);if (!check.exists()) {
OutputStream os= newFileOutputStream(loadPath);while((len = is.read())!=-1) {
os.write(len);
}
os.flush();
os.close();
System.out.println(d.toString()+" "+threadName+" "+currentimg.urlString+" downloaded Success "+currentimg.count);
}
is.close();
}catch(InterruptedException e) {//TODO Auto-generated catch block
System.out.println("Fail "+threadName);
e.printStackTrace();
}catch(IOException e) {
System.out.println("Fail "+threadName);
e.printStackTrace();
}
}
}
}