通过URL的方式获取网站Resource的length为什么是-1?
System.out.println(resource.getFilename());
System.out.println(resource.contentLength());
System.out.println(resource.getFilename());
System.out.println(resource.contentLength());
2016-04-01
1、出现这种情况是小文件的大小是在头里的长度字段有值,所以能获取到大文件的时候,长度字段没有了,而是使用了trunk的方式传输,这样就没办法直接获取到了,需要根据trunk信息进行统计。
2、大于2G估计服务器压缩传输了,设置conn .setRequestProperty("Accept-Encoding", "identity")。
调用了FileSystem这是java没有公开的一个类,JavaDoc API没有。其中fileSystem 是一个IFileSystem对象,IFileSySTEM是java没有公开的一个类,JavaDoc API中没有;
3、fd是一个FileDescriptor对象,即文件描述符。说明这句代码是通过文件描述符获取文件的总大小,而并不是事先将磁盘上的文件数据全部读入流中,再获取文件总大小。
举报