我在
java中使用HttpURLConnection读取一个大的xml文件,如下所示.
StringBuilder responseBuilder = new StringBuilder(1024);
char[] buffer = new char[4096];
BufferedReader br = new BufferedReader(new InputStreamReader(((InputStream)new DataInputStream(new GZIPInputStream(connection.getInputStream()))),"UTF-8"));
int n = 0;
while(n>=0){
n=br.read(buffer,0,buffer.length);
if(n>0) responseBuilder.append(buffer,0,n);
}
有没有办法获得加载到BufferedReader的总字节数,然后通过char / line by line / char block by char block读取char.
最佳答案 听起来你正试图找出BufferedReader的大小而不消耗它.
您可以尝试使用HttpURLConnection的getContentLength()
方法.这可能有效,也可能无效.它当然不会做的是给你流的未压缩大小.如果你追求的是后者,你几乎肯定是运气不好.
如果我误解了你的问题,请澄清你所追求的是什么.