InputStream/BufferedInputStream流写入文件

分类: JAVA 评论(0) 439 阅读 2018-12-25 00:01 ZooM查看

摘要 流写入文件
JAVA


  借助common-io包FileUtils

try {
    // mediaFile.getFileStream() 是 BufferedInputStream
    try (BufferedInputStream bufferedInputStream = mediaFile.getFileStream();
         ByteArrayOutputStream bao = new ByteArrayOutputStream();) {

        byte[] buff = new byte[1024];
        int bytesRead = 0;
        while (-1 != (bytesRead = bufferedInputStream.read(buff, 0, buff.length))) {
            bao.write(buff, 0, bytesRead);
        }

        // 存放地址 web可访问路径
        String fileActualUrl = File.separator + publicManage.getPublicCode()
                + File.separator + msg.getMsgType()
                + File.separator + mediaFile.getFileName() 
                + "." + mediaFile.getSuffix();

        String path = msg.getWebRootPath() + fileActualUrl;
        FileUtils.writeByteArrayToFile(new File(path), bao.toByteArray());
    }
} catch (Exception e) {
    e.printStackTrace();
}

如果是InputStream,使用 BufferedInputStream 包装一下即可

BufferedInputStream bis = new BufferedInputStream(conn.getInputStream());

1545617306474083463.png

QQ联系作者 微信联系作者
评论0
提交评论

关  于

该站属于个人博客,技术架构: JFinal + Beetl + Bootstrap

功能以后会继续完善……

QQ:841359731