getContentLength()方法取得文件大小时有时候返回-1有的时候返回时正常的~请问返回-1怎么解决是什么造成的~?谢谢各位~
出现这种情况是小文件的大小是在头里的长度字段有值,所以能获取到大文件的时候,长度字段没有了,而是使用了trunk的方式传输,这样就没办法直接获取到了,需要根据trunk信息进行统计。
大于2G估计服务器压缩传输了,设置conn .setRequestProperty("Accept-Encoding", "identity")。
调用了FileSystem这是java没有公开的一个类,JavaDoc API没有。其中fileSystem 是一个IFileSystem对象,IFileSySTEM是java没有公开的一个类,JavaDoc API中没有;
fd是一个FileDescriptor对象,即文件描述符。说明这句代码是通过文件描述符获取文件的总大小,而并不是事先将磁盘上的文件数据全部读入流中,再获取文件总大小。