让我谨慎地为这篇文章开篇。 我是一个初学者,我真的很想学习和理解做这些事情的最佳方法。 除了我的首要问题,在什么情况下可以使用DataInput/OutputStream和BufferedInput/ouputStream? 谢谢

重复:stackoverflow.com/questions/1830698/

另请参阅:stackoverflow.com/a/9805247/2206044

stackoverflow.com/a/8921601/2194456和way2java.com/io/bufferedinputstream-and-bufferedoutputstream

DataInputStream处理二进制数据,而BufferedReader处理字符数据。

可以使用DataInputStream类中的相应方法来处理所有原始数据类型,而只能从BufferedReader类读取字符串数据,并且需要将它们解析为相应的原始数据。

DataInputStream是过滤流的一部分,而BufferedReader不是。

DataInputStream消耗的内存空间较少,因为它是二进制流,而BufferedReader消耗的内存空间更多,因为它是字符流。

DataInputStream中限制了要处理的数据,因为BufferedReader中要处理的字符数范围很广。

感谢您的深刻见解。 我想我现在开始了解。

DataInput / OutputStream用于将诸如原语(int,boolean等)的数据读/写到文件中。

BufferedInput / ouputStream是提高性能的包装器。

实际上,您可以像这样同时使用它们:

其背后的整个设计是装饰图案。您可以使用多个其他装饰器(例如ObjectOutputStream)作为包装器。

也感谢您的深刻见解。

java缓冲流和普通流的区别_关于java:数据输入/输出流和缓冲的输入/输出流有什么区别?...相关推荐

  1. java 协程线程的区别_为什么 Java 坚持多线程不选择协程?

    谢邀. 先说结论:协程是非常值得学习的概念,它是多任务编程的未来.但是Java全力推进这个事情的动力并不大. 先返回到问题的本源.当我们希望引入协程,我们想解决什么问题.我想不外乎下面几点:节省资源, ...

  2. java jre 与jdk的区别_学习java却不知道JRE和JDK的区别?看完这篇文章,让你受益匪浅...

    JRE和JDK的区别? 1.JRE是Java运行时环境 . 它是运行已编译的Java程序所需的所有程序的包,包括Java虚拟机(JVM),Java类库, java命令和其他基础结构. 但是,它不能用于 ...

  3. java中所有函数都是虚函数_关于Java:虚拟函数与纯虚函数之间的区别是什么?...

    本问题已经有最佳答案,请猛点这里访问. Possible Duplicate: C++ Virtual/Pure Virtual Explained 虚函数和纯虚函数有什么区别? CPP中的纯虚函数与 ...

  4. java程序填空题输出汤姆猫_《Java语言程序设计(新)》地大模拟

    <Java语言程序设计(新)>地大模拟 2020-08-29 08:08:08 635 有学员问关于<Java语言程序设计(新)>地大模拟的题目的参考答案和解析,具体如下: & ...

  5. java赋值运算的类型转换出新的问题_学习Java基本数据类型与转换++,--等问题总结...

    java中的数据类型java有4种类型分别是整数类型.浮点类型.字符型.布尔型.java的八中分类分别是byte.short.int.long.float.double.char.boolean简称4 ...

  6. java程序设计 第2版 唐大仕_《Java程序设计(第2版)》唐大仕 源代码

    [实例简介] <Java程序设计(第2版)>唐大仕 清华大学出版社 北方交通大学出版社 [实例截图] [核心代码] bbe30560-8619-4a35-a024-50004cc5c8e2 ...

  7. java start打开cmd窗口并停住_浅析Java命令执行

    在使用java.lang.Runtime#exec()执行命令时,为何有时候命令前缀需要加cmd /c或者bash -c?今天就来一探究竟! Java执行命令的3种方法 首先了解下在Java中执行命令 ...

  8. java多线程为啥一直用的一个线程_一个Java多线程的问题,颠覆了我多年的认知!...

    作者 | ithuangqing 来源 | 编码之外(ID:ithuangqing) 碰见个奇怪的多线程问题 小白们也不用怕,今天的文章你们都能看得懂,最近的学习中,碰到这样的一个问题: Java创建 ...

  9. java在线支付---06,07,08_在线支付_编写将数据提交给易宝支付的JSP页面,集成和测试向易宝发送支付请求,实现浏览器自动向易宝发送支付请求

    06_在线支付_编写将数据提交给易宝支付的JSP页面 -------------------------------------------------------------- 1./payment ...

  10. Java main方法_解释Java中的main方法,及其作用_一个java文件中可包含多个main方法

    public static void main(String[] args) {} 或者 public static void main(String args[]) {} main方法是我们学习Ja ...

最新文章

  1. 使用jquery触发a标签跳转
  2. 给定数组Arr[n],O(n)时间内找出每个元素左侧所有元素中位置最靠近该元素且大于该元素的元素
  3. 吴恩达DeepLearningCourse1-神经网络和深度学习
  4. 华为仿苹果字体_华为mate40系列再次霸榜DXO,网友:无敌是多么寂寞
  5. Invitation Cards(建反图 + 跑两遍SPFA)
  6. “我爱淘”冲刺阶段Scrum站立会议3
  7. Ubuntu 20.04 安装 php 并配置 OpenResty
  8. chrome插件charset与fireshot
  9. 苹果bundle id是什么?
  10. 团队的英文翻译缩写_(整理)公司部门英文缩写简称大全
  11. android融云客服功能,客服开发指南 - 融云 RongCloud
  12. 春招秋招,什么是群面和无领导小组讨论
  13. 新生儿的二类(自费)疫苗(截止2019年)
  14. 计算机科学学院凤凰院徽,数学科学学院院徽、院训展示
  15. html文件名解压乱码怎么办,压缩文件解压后乱码怎么办?解压乱码解决办法
  16. Python学习 —— open()函数
  17. itext7学习笔记——第2章
  18. WSL / WSL2 问题大全 及 解决方案
  19. js的toFixed四舍五入偶尔不正确的问题
  20. Parallels Desktop for M1 Mac下载

热门文章

  1. 美国政府继续紧盯中兴,并可能剑指华为
  2. shell十三问-3) 別人 echo、你也 echo ,是问 echo 知多少
  3. Gson日期格式异常-com.google.gson.JsonSyntaxException
  4. sqlserver导出表结构到excel
  5. PHP 利用CURL抓取页面内容
  6. 为什么我电脑的所有浏览器都开不了网页
  7. 阿里云服务器端口请求失败(在控制台把端口添加到服务器的安全组)
  8. mac os 10.10 safari java插件_OS X 10.10 Yosemite强大而漂亮的Safari 8浏览器
  9. 梦笔记2022-02-23
  10. 没有加载jawt导致java.lang.UnsatisfiedLinkError