我有一个java代码,可以将图片从网络下载到我的硬盘上。我想在启动时运行它,当连接互联网时,它会下载图片,否则等到互联网连接。一种方法是每时每刻检查互联网连接,但我寻找更好的方法? 我希望它支持Windows操作系统。 这是我的代码:
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.net.UnknownHostException;
public class SaveImageFromUrl {
public static void main(String[] args) throws Exception {
String imageUrl = "http://imgs.yooz.ir/yooz/walls/yooz-950616.jpg";
//the imageUrl changes every few days.
String destinationFile = "C:\\Wallpaper.jpg";
saveImage(imageUrl, destinationFile);
}
public static void saveImage(String imageUrl, String destinationFile) throws IOException {
URL url = new URL(imageUrl);
byte[] b = new byte[2048];
int length;
try {
InputStream is=url.openStream();
OutputStream os = new FileOutputStream(destinationFile);
while ((length = is.read(b)) != -1) {
os.write(b, 0, length);
}
is.close();
os.close();
}catch (UnknownHostException e){
e.printStackTrace();
}
}
}