互联网连接改变时回拨

时间:2016-09-13 17:44:38

标签: java internet-connection

我有一个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();
        }
    }  
}

0 个答案:

没有答案