社区
Java SE
帖子详情
再论InputStream 和 InputStreamReader 的区别
孤尽JavaSea
2008-10-06 05:20:34
这个问题已经发了一贴了,
但很遗憾,字节流和字符流的争论都没有结果。
...全文
459
27
打赏
收藏
再论InputStream 和 InputStreamReader 的区别
这个问题已经发了一贴了, 但很遗憾,字节流和字符流的争论都没有结果。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
27 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
aoliwen521
2008-10-09
打赏
举报
回复
似乎字符流在SOCKET传输的时候总是出问题。
liujiaqwer
2008-10-09
打赏
举报
回复
up
hwxiang
2008-10-09
打赏
举报
回复
public
abstract
class
InputStream
返回 0 到 255 范围内的 int 字节值
public
class
InputStreamReader
InputStreamReader 是字节流通向字符流的桥梁
ericax
2008-10-09
打赏
举报
回复
up
云淡天晴
2008-10-09
打赏
举报
回复
InputStreamReader的构造方法 InputStreamReader(InputStream in) 。这里InputStream是一个抽象类。 http://www.shangxuetang.cn/html/wentijihe/200810/09-32.html
java__king
2008-10-09
打赏
举报
回复
inputStream-----字节流-----8个位------0 到 255
inputStreamReader-----字符流-----16各位-----0 到 65535
冰思雨
2008-10-09
打赏
举报
回复
[Quote=引用楼主 Java_gannbare 的帖子:]
这个问题已经发了一贴了,
但很遗憾,字节流和字符流的争论都没有结果。
[/Quote]
不知道有什么可争论的。
说来听听,或者把连接给出来,看看。
chendabian
2008-10-09
打赏
举报
回复
1) File file = new File ("hello.txt");
FileInputStream in=new FileInputStream(file);
2) File file = new File ("hello.txt");
FileInputStream in=new FileInputStream(file);
InputStreamReader inReader=new InputStreamReader(in);
BufferedReader bufReader=new BufferedReader(inReader);
3) File file = new File ("hello.txt");
FileReader fileReader=new FileReader(file);
BufferedReader bufReader=new BufferedReader(fileReader);
据说 这么用比较好
xuhua205
2008-10-09
打赏
举报
回复
散分就接分吧
抬头望远,低头沉思
2008-10-09
打赏
举报
回复
InputStreamReader来把InputStream适配为Reader类的。
InputStream是 针对byte(8位),而Reader是针对char(16位),要支持中文也必须得用16位的Reader。
InputStream inStream = null;
InputStreamReader reader = null;
inStream = file.getContents();
reader = new InputStreamReader(inStream);
fulianglove
2008-10-09
打赏
举报
回复
[Quote=引用 17 楼 ouyangxiaokang6 的回复:]
lz 说的对。
[/Quote]
hao!!!
ouyangxiaokang6
2008-10-09
打赏
举报
回复
lz 说的对。
sure2003
2008-10-08
打赏
举报
回复
InputStream是抽象类
humcomm
2008-10-06
打赏
举报
回复
InputStream : int read()
Reads the next byte of data from the input stream. The value byte is returned as an int in the range 0 to 255.
InputStreamReader: int read()
Reads a single character.
老紫竹
2008-10-06
打赏
举报
回复
一个汉字,GBK编码是2个字节,UTF-8编码是三个字节
如果你不确定编码类型,那么用字节处理最稳妥。
aoliwen521
2008-10-06
打赏
举报
回复
多谢各位高手回答,我是新手,对字节和字符流看了几次书也没理解。今天略有理解。
顺便问一下,这里很多人都是女头像。
我认为编程高手中女性应该不多,是真的有这么多女的?
还是由于搞编程的人压力大,所以很多人习惯用女性头像?
因为我自己的GTALK也是用的梦露。
孤尽JavaSea
2008-10-06
打赏
举报
回复
7楼是我楼主啊,晕啊,大家吗?
ycyn521
2008-10-06
打赏
举报
回复
今天刚听了万欣老师对这一节的讲解,7楼的兄弟说的很对!
hitzsf
2008-10-06
打赏
举报
回复
计算机里最基本的单位是字节,按字节读肯定不会出问题的。也就是2进制格式,word也是属于字节流
字符流可以一次读写两个字节,对于现在的32位64位计算机来说,效率会提高很多,但是常常会断章取意,认为所有的信息都是按16位来存储的,遇上非字符存储的,很容易会出错!
我个人认为很有可能是高字节和低字节顺序的问题!或许用字符流连续读写两次文件就ok了!(存属猜想,未做实践证明)
alile_420
2008-10-06
打赏
举报
回复
接分,虽然我也认为没有可比性
加载更多回复(7)
Input
Stream
Reader 和FileReader的
区别
及
Input
Stream
和Reader的
区别
主要介绍了
Input
Stream
Reader 和FileReader的
区别
及
Input
Stream
和Reader的
区别
的相关资料,需要的朋友可以参考下
java 文件存储
Input
stream
outputstream reader writer的用法
当你还是一个java初学者的时候,是不是还在为你没有一个好的源代码模仿去学习而烦恼,这个代码很容易看懂,对你学习很有帮助
Input
Stream
Reader和BufferedReader用法及实例讲解
主要介绍了
Input
Stream
Reader和BufferedReader用法及实例讲解的相关资料,需要的朋友可以参考下
Java文件读写操作函数实现
/** * 一、BufferedReader类 public class BufferedReader extends Reader * 从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。 可以指定缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值足够大。 * 通常,Reader 所作的每个读取请求都会导致对底层字符或字节流进行相应的读取请求。因此,建议用 BufferedReader包装所有其 read() * 操作可能开销很高的 Reader(如 FileReader和
Input
Stream
Reader)。 * BufferedReader流能够读取文本行,通过向BufferedReader传递一个Reader对象 * ,来创建一个BufferedReader对象,之所以这样做是因为FileReader没有提供读取文本行的功能. * * 二、
Input
Stream
Reader类 * *
Input
Stream
Reader 将字节流转换为字符流。是字节流通向字符流的桥梁。如果不指定字符集编码,该解码过程将使用平台默认的字符编码,如:GBK。 * * 构造方法: * *
Input
Stream
Reader isr = new
Input
Stream
Reader(
Input
Stream
* in);//构造一个默认编码集的
Input
Stream
Reader类 * *
Input
Stream
Reader isr = new
Input
Stream
Reader(
Input
Stream
in,String * charsetName);//构造一个指定编码集的
Input
Stream
Reader类。 * * 参数 in对象通过
Input
Stream
in = System.in;获得。//读取键盘上的数据。 * * 或者
Input
Stream
in = new File
Input
Stream
(String fileName);//读取文件中的数据。可以看出 * File
Input
Stream
为
Input
Stream
的子类。 * * 主要方法:int read();//读取单个字符。 int read(char []cbuf);//将读取到的字符存到数组中。返回读取的字符数。 * * 三、FileWriter(少量文字) 和 BufferedWriter(大量文字)实现简单文件写操作 * @author hulk */
java io 类 小结 代码
htm格式 简洁分类 代码直接使用
Input
Stream
OutputStream Reader Writer File
Input
Stream
FileOutputStream FileReader FileWriter
Input
Stream
Reader OutputStreamWriter BufferedReader BufferedWriter PrintWriter DataOutputStream Data
Input
Stream
ObjectOutputStream Object
Input
Stream
Scanner
Java SE
62,616
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章