牛骨文教育服务平台(让学习变的简单)
博文笔记

使用FileInputStream的available方法,导致读取的文件流为0

创建时间:2016-08-24 投稿人: 浏览次数:1994

先看看源码

    @Override
    public int available() throws IOException {
        return IoBridge.available(fd);
    }

返回的是int型的值
看代码

HttpEntity streamEntity = new InputStreamEntity(fs,fs.available());

如果文件大小超过2G,则fs.available() 即为0,则这个streamEntity 根本没有东西
若有文件的url,用file类打开,通过length方法取得长度

HttpEntity streamEntity = new InputStreamEntity(fs,file.length());

问题解决~

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。