关于两种输入输出流的区别问题 Java中有DataInputStream()和DataOutputStream(),还可以用BufferedReader(InputStreamReader())和BufferedWriter(OutputStreamWriter())实现类似的功能。这两种实现有什么区别呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 前者有很多 按类型读写的方法,也有个readLine()方法,不过已经过时(deprecated)后者是带缓冲区的,最喜欢的莫过于它的readLine()啦 ------------------用于封装以字节为导向的InputStream1) 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 看一下API文档,我感觉就清楚了。 Stream 结尾的是字节流,单位是字节,Reader 是字符流,单位是字符字节和字符的区别,应该知道吧? 楼主在比较reader和stream么?我没理解错的话如果是的话,可比性在哪儿呢? 二楼的差不多是我要的,我举个例子,一个程序通过socket要输入数据,那就是两种情况:1:DataInputStream(socket s.getInputStream())2:BufferedReader(InputStreamReader(socket s.getInputStream()))或者也可以这样:3:BufferedInputStream(socket s.getInputStream())我理解就这三种,第一种和第三种是以字节为基础的。第二种是转换为了字符,然后以字符为基础的。后两种都有一个挺好的方法:readLine(),第一种的readLine()过时了。除此之外这三者还有什么区别呢?实际使用的时候第一种和第二种好像没太大区别啊?我菜鸟,烦请高人指点! 说到socket,我想到了4层模型,网络接口层、网间网层、传输层、应用层我们做的就是应用层.在"网络接口层"上套了个"网间网层",在套上了个"传输层"最后是"应用层"..这样对我们来说底层就变得透明..于在InputStreamReader外面套一个BufferedReader有异曲同工之妙..当然这个对可能不是很恰当..随便说说 恩,我和你的理解差不多。不过我还是想知道这两个套套有什么不一样的地方。除了那个readLine()方法。 DataInputstream 是数据流;而下面的那个只是一个带缓冲的字符流;传输的类型不同。DataInputstream可以直接读进来一个比如Int;long这样的数据;这才是这个流的真正意义所在;貌似。。 比如让你把一个int类型的数据读入到一个文件里?你打算怎么读? ext的js源文件在myeclipse9中检验错误 命令行运行"java HelloWorld"出现异常? 高手们,请帮我一下,急!!! 浮点型的for循环 帮忙!!!!!!!!!!!!!!!! IO问题 请问几个名词是什么意思?巨简单!请回答,在线等!!! 我刚开始学JAVA,为了配置环境我需要下载那个安装程序。 请问这是什么错误?? 大家都学Java,可Java与C++哪个有钱途,本人正学C++,可又向学Java 该怎办? 2009山东大学计算机学院复试的一个上机题目 有关swing中的鼠标画图问题
后者是带缓冲区的,最喜欢的莫过于它的readLine()啦
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
Reader 是字符流,单位是字符
字节和字符的区别,应该知道吧?
如果是的话,可比性在哪儿呢?
1:DataInputStream(socket s.getInputStream())
2:BufferedReader(InputStreamReader(socket s.getInputStream()))
或者也可以这样:
3:BufferedInputStream(socket s.getInputStream())我理解就这三种,第一种和第三种是以字节为基础的。第二种是转换为了字符,然后以字符为基础的。后两种都有一个挺好的方法:readLine(),第一种的readLine()过时了。
除此之外这三者还有什么区别呢?
实际使用的时候第一种和第二种好像没太大区别啊?我菜鸟,烦请高人指点!
我们做的就是应用层.在"网络接口层"上套了个"网间网层",在套上了个"传输层"
最后是"应用层"..这样对我们来说底层就变得透明..于在InputStreamReader外面套一个
BufferedReader有异曲同工之妙..当然这个对可能不是很恰当..随便说说
传输的类型不同。DataInputstream可以直接读进来一个比如Int;long这样的数据;
这才是这个流的真正意义所在;貌似。。