2015-10-13 70 views
0

我想加载一个zip文件的网址.. 现在我在文件中读取以获取大小。然后创建与大小的int数组,然后在文件中再次读取并存储在我的数组试图加载在一个网址

  1. 有没有办法让URL的大小,所以我没有读它的两倍?
  2. 有没有办法在读取数组时改变数组的大小,所以我不必提前获取大小。

看来愚蠢的文件中读取3次

+0

使用,例如,['java.io.ByteArrayInputStream'](HTTP://文档.oracle.com/javase/8/docs/api/java/io/ByteArrayInputStream.html)而不是直接使用数组。 – Jesper

+0

阅读3次是非常愚蠢的。使用缓冲区。 http://stackoverflow.com/questions/921262/how-to-download-and-save-a-file-from-internet-using-java – jgitter

+0

你想把文件保存到你的电脑或者你想缓存它在代码中? – mezzodrinker

回答

2

这要看你的服务器/服务已经实现。要读出 “HTTP头” Content-Length第一个例如

URL url = new URL("http(s)://yourfileURL"); 
URLConnection urlConnection = url.openConnection(); 
urlConnection.connect(); 
int file_size = urlConnection.getContentLength(); 

urlConnection.getHeaderField("Content-Length"); 

参见Content-Length