如果将缓冲区大小调整为文件大小,则表示只要文件大小太大而无法使用可用内存,就会出现OutOfMemoryError。

使用正常的缓冲区大小让它做它的工作 - 以流式方式缓冲数据,一次缓冲一个块,而不是一次性缓冲。

有关说明,请参阅BufferedOutputStream的文档:

The class implements a buffered output stream. By setting up such an

output stream, an application can write bytes to the underlying output

stream without necessarily causing a call to the underlying system for

each byte written.

因此,使用缓冲区比非缓冲写入更有效。

并从write方法:

Ordinarily this method stores bytes from the given array into this

stream's buffer, flushing the buffer to the underlying output stream

as needed. If the requested length is at least as large as this

stream's buffer, however, then this method will flush the buffer and

write the bytes directly to the underlying output stream.

每次写入都会导致内存缓冲区填满,直到缓冲区已满。缓冲区已满时,将刷新并清除。如果使用非常大的缓冲区,则会在刷新之前将大量数据存储在内存中。如果您的缓冲区与输入文件的大小相同,那么您说在刷新之前需要将整个内容读入内存。使用默认缓冲区大小通常很好。将有更多的物理写入(刷新);你避免爆炸记忆。

通过允许您指定特定的缓冲区大小,API允许您在内存消耗和I / O之间选择适当的平衡以适合您的应用程序。如果您调整应用程序的性能,最终可能会调整缓冲区大小。但是在许多情况下,默认大小是合理的。

java解压文件 文件过大,Java压缩/解压缩大文件( 1gb)相关推荐

  1. python解压gz_使用python请求下载压缩tar.gz文件并使用tar解压它

    我需要使用请求调用来下载tar gz文件,我发现requests.get会自动解压缩文件,我尝试使用给定的解决方案 here 但当我试图用tar解压它时,它说它不是gzip格式. 我尝试了以下方法: ...

  2. java解压出来损坏_在Java中解压缩错误

    嗨,我是zip格式的新手,我使用Java的util实现来解压缩文件,但是每当我尝试打开文件时它都会抛出一个ZipException . 我检查文件是否已损坏,但不是因为我可以使用winRar打开它 . ...

  3. electron 解压zip_node.js实现简单的压缩/解压缩功能示例

    本文实例讲述了node.js实现简单的压缩/解压缩功能.分享给大家供大家参考,具体如下: 压缩的例子 非常简单的几行代码,就完成了本地文件的gzip压缩. var fs = require('fs') ...

  4. bz2解压命令_Linux下的tar压缩解压缩命令

    tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个 ...

  5. java解压多个zip_使用Java解压缩多部分zip文件卷

    尝试将所有文​​件连接到一个文件中,然后提取单个文件.就像是: File dir = new File("D:/arc"); FileOutputStream fos = new ...

  6. java 解压与压缩代码_Java实现多文件压缩和解压缩代码详解

    Java实现多文件压缩和解压缩代码 import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStre ...

  7. java zip malformed_关于Java解压文件的一些坑及经验分享(MALFORMED异常)

    关于Java解压文件的一些坑及经验分享 就在本周, 测试人员找到我说现上的需求文档(zip格式的)无法预览了, 让我帮忙看看怎么回事. 这个功能也并不是我做的, 于是我便先看看线上日志有没有什么错误, ...

  8. Java解压上传zip或rar文件,并解压遍历文件中的html的路径

    1.本文只提供了一个功能的代码 public String addFreeMarker() throws Exception {HttpSession session = request.getSes ...

  9. Java解压Jar文件

    今天写点java解压jar文件的东西,以前项目中用到过,很简单... java中有专门的文件类型对应jar文件,那就是JarFile,用于从任何可以使用java.io.RandomAccessFile ...

  10. Java解压文件Zip,War,Tar,TarGz格式

    Java压缩和解压缩 压缩和解压缩依赖 关于Java解压Zip文件的java.lang.IllegalArgumentException:MALFORMED报错问题. 解压缩代码 Zip解压缩 War ...

最新文章

  1. 使用文件给swap增加空间
  2. Mysql连接数据库的操作
  3. ListView嵌套RecyclerView遇到的一些坑以及解决办法
  4. efcore 实体配置_快速掌握EF Core使用技能
  5. Python学习笔记:Import详解2
  6. java读取utf-8文件第一行多一个问号
  7. 使用Jersey跨服务器上传图片 报405 Method Not Allowed错误
  8. java bean转string_Json、JavaBean、String等互转
  9. 一起来学习LiteOS中断模块的源代码
  10. APP设计灵感|空白页空状态界面也可以这么设计
  11. [渝粤题库] 国家开放大学 人文英语4 资料
  12. dedecms php用不了,织梦DEDECMS安装360漏洞补丁之后不能够运行PHP代码的问题
  13. ES文件浏览器局域网传输文件分析
  14. 从零开始SpringCloud Alibaba实战(48)——阿里开发手册泰山版学习笔记二 日期时间 集合处理 并发处理
  15. 抖音运营攻略大全,新手主播必知干货丨国仁网络
  16. 终于把AI换脸的原理搞清了
  17. Device owner调研
  18. 使用IDEA编写Java程序时遇到的小提醒Common part can be extracted from ‘if‘
  19. window.btoa与window.atob
  20. Lenovo 使用BoMC工具制作微码升级U盘刷新System x

热门文章

  1. Android中ListView错位布局实现(无聊向)
  2. 二 Python 基本数据类型
  3. NetCore游戏服务器GeekServer
  4. opencv4 QR码检测和识别源码解析
  5. #MoreThanCode:社会正义技术
  6. [源码和文档分享]基于SSM的网上购物系统的设计与开发
  7. 三十岁仍一事无成,一个失败工程师的自白
  8. 十大流行开源软件推荐
  9. 当500万只能作为摇号的诚意金来临时,你的想法是什么?
  10. Python基础知识-字典dictionary