社区
Java SE
帖子详情
关于两种输入输出流的区别问题
Jzhgliu
2009-10-08 10:44:22
Java中有
DataInputStream()和DataOutputStream(),
还可以用
BufferedReader(InputStreamReader())和BufferedWriter(OutputStreamWriter())
实现类似的功能。
这两种实现有什么区别呢?
...全文
325
13
打赏
收藏
关于两种输入输出流的区别问题
Java中有 DataInputStream()和DataOutputStream(), 还可以用 BufferedReader(InputStreamReader())和BufferedWriter(OutputStreamWriter()) 实现类似的功能。 这两种实现有什么区别呢?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
silence282351924
2009-10-10
打赏
举报
回复
[Quote=引用 9 楼 jzhgliu 的回复:]
恩,我和你的理解差不多。不过我还是想知道这两个套套有什么不一样的地方。除了那个readLine()方法。
[/Quote]
比如让你把一个int类型的数据读入到一个文件里?你打算怎么读?
silence282351924
2009-10-10
打赏
举报
回复
DataInputstream 是数据流;而下面的那个只是一个带缓冲的字符流;
传输的类型不同。DataInputstream可以直接读进来一个比如Int;long这样的数据;
这才是这个流的真正意义所在;貌似。。
24K純帥
2009-10-10
打赏
举报
回复
up..
Jzhgliu
2009-10-09
打赏
举报
回复
恩,我和你的理解差不多。不过我还是想知道这两个套套有什么不一样的地方。除了那个readLine()方法。
liuxiaosabbath
2009-10-08
打赏
举报
回复
楼主在比较reader和stream么?我没理解错的话。。。
如果是的话,可比性在哪儿呢?
myj870517
2009-10-08
打赏
举报
回复
Stream 结尾的是字节流,单位是字节,
Reader 是字符流,单位是字符
字节和字符的区别,应该知道吧?
leafsoar
2009-10-08
打赏
举报
回复
说到socket,我想到了4层模型,网络接口层、网间网层、传输层、应用层
我们做的就是应用层.在"网络接口层"上套了个"网间网层",在套上了个"传输层"
最后是"应用层"..这样对我们来说底层就变得透明..于在InputStreamReader外面套一个
BufferedReader有异曲同工之妙..当然这个对可能不是很恰当..随便说说
Jzhgliu
2009-10-08
打赏
举报
回复
二楼的差不多是我要的,我举个例子,一个程序通过socket要输入数据,那就是两种情况:
1:DataInputStream(socket s.getInputStream())
2:BufferedReader(InputStreamReader(socket s.getInputStream()))
或者也可以这样:
3:BufferedInputStream(socket s.getInputStream())
我理解就这三种,第一种和第三种是以字节为基础的。第二种是转换为了字符,然后以字符为基础的。后两种都有一个挺好的方法:readLine(),第一种的readLine()过时了。
除此之外这三者还有什么区别呢?
实际使用的时候第一种和第二种好像没太大区别啊?
我菜鸟,烦请高人指点!
justinavril
2009-10-08
打赏
举报
回复
看一下API文档,我感觉就清楚了。
hardycheng
2009-10-08
打赏
举报
回复
------------------用于封装以字节为导向的InputStream
1) DataInputStream:从二进制流中读取基本类型(int、char等)数据。
2) BufferedInputStream:使用缓冲区
3) LineNumberInputStream:会记录input stream内的行数,然后可以调用getLineNumber()和setLineNumber(int)
4) PushbackInputStream:很少用到,一般用于编译器开发
---------------- 用于封装以字符为导向的InputStream
1) 没有与DataInputStream对应的类。除非在要使用readLine()时改用BufferedReader,否则使用DataInputStream
2) BufferedReader:与BufferedInputStream对应
3) LineNumberReader:与LineNumberInputStream对应
4) PushBackReader:与PushbackInputStream对应
2.3 FilterOutStream的各种类型
------------------用于封装以字节为导向的OutputStream
1) DataOutStream:往stream中输出基本类型(int、char等)数据。
2) BufferedOutStream:使用缓冲区
3) PrintStream:产生格式化输出(与PrintWrite有一定区别)
-
(Thinking in Java 第十章)IO 流
http://www.wangchao.net.cn/bbsdetail_21046.html
rookie001
2009-10-08
打赏
举报
回复
前者有很多 按类型读写的方法,也有个readLine()方法,不过已经过时(deprecated)
后者是带缓冲区的,最喜欢的莫过于它的readLine()啦
nihuajie05
2009-10-08
打赏
举报
回复
4楼正解
<cstdio> vs <iostream>
根据CC-BY-SA许可协议发布
【C++】万字详解IO流(
输入输出流
+文件流+字符串流)
详解C++ IO流,希望对大家有帮助!!
深入了解Java
输入输出流
在计算机编程中,
输入输出流
(I/O流)是用于处理输入和输出数据的概念。它们是程序与外部世界(文件、网络、控制台等)之间的桥梁,允许程序读取和写入数据。输入流用于读取数据,输出流用于写入数据。输入流用于从外部源(如文件、键盘、网络套接字)读取数据。数据可以是字节或字符,取决于流的类型。输出流用于将数据写入外部目标(如文件、屏幕、网络套接字)。同样,数据可以是字节或字符,取决于流的类型。在Java中,
输入输出流
是处理数据的重要组成部分,它们提供了一种灵活的方式来读取和写入各种数据类型,包括文本、图像、音频等。
输入输出流
java的输入输出按照流的方向以及处理的数据单位主要可以分为四大类: 1.InputStream,用于处理字节的输入 2.OutputStream,用于处理字节的输出 3.Reader,用于处理字符的输入 4.Writer,用于处理字符的输出 以上四类均为基本类,同时也为抽象类,不可直接创建实例对象。 按流的角色可分为节点流(文件流)和处理流。 节点流:(通常用以File类实例对象为参数的构造方法进行构造节点流实例) FileInputStream FileOutputStream FileReader F
杭电OJ2000WA--C语言
我运行的结果完全没有
问题
,但是提交就WA,在网上查了说是使用getchar();才可以,但是为什么用fflush(stdin);不行呢?请大佬指教! 下面贴上我的代码 #include <stdio.h> int main() { char a,b,c,temp; while((scanf("%c%c%c",&a,&b,&c)) != EOF) ...
Java SE
62,620
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章