如何在java

时间:2015-06-27 12:20:49

标签: java file-io

我正在尝试从http url连接下载ZIP文件。如何确认zip文件是否已完全下载。无论如何我可以得到zip文件的结尾。

1 个答案:

答案 0 :(得分:0)

当流返回-1时(如MadConan所述),EOF将会到达。您需要阅读数据,直到

  

inputStream.read == -1

如下所示的简单示例:

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

public class ZipFileDownloader {

    public static void downloadZipFile(String urlPath, String saveTo) {
        try {
            URLConnection connection = new URL(urlPath).openConnection();
            InputStream in = connection.getInputStream();
            FileOutputStream out = new FileOutputStream(saveTo + "myFile.zip");
            byte[] b = new byte[1024];
            int count;
            while ((count = in.read(b)) > 0) {
                out.write(b, 0, count);
            }
            out.flush(); 
            out.close(); 
            in.close();                   
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}