A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 高铭 中级黑马   /  2012-4-15 18:06  /  1830 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

读取流时
什么时候定义 String line =null;   while(line.....!=null){....}
和什么时候定义  byte[] buf = new byte[1024]; int len =0; while(len....!=-1){....}

这样解释对不?
  (字符流)
文本文件 一行一行读取 就用String   
(字节流)
图片 什么的等等 就用 byte[] 这样的 (字节流)  是么?
这点有点模糊   

评分

参与人数 1技术分 +1 收起 理由
岳民喜 + 1

查看全部评分

4 个回复

倒序浏览
字符流和字节流是每次读取的数据单位不同,字节流每次读取一个字节,字符流每次读取两个字节。
另外需要注意如果读中文的话只能用字符流,字节流读出来全是问号。
回复 使用道具 举报
程序中的输入输出都是以流的形式保存的,流中保存的实际上全都是字节文件。
1 、二进制格式(只要不能确定是纯文本的)使用字节流
2 、纯文本格式(含纯英文与汉字或其他编码方式);使用字符流
回复 使用道具 举报
文本文件 一行一行读取 就用String   
嗯,是这样的,因为是读取的一行,说要返回的是String
字节流,就是传输数据的时候,一个一个字节的传输,
字符流,就是以一个字符来传输。
只要是操作文件数据的都用字符流。
字节流操作的就是,与媒体相关的东西。如文本, 当然也能可以用字节流, 但是比较麻烦, 还要做转换动作, 不建议使用
回复 使用道具 举报
String line =null;   while(line.....!=null){....}   //...里是 readline ,而readline方法是字符流 bufferedread的特有方法,如果想要用这个方法
                                               首先需要转到字符流,之后用这个修饰,毕老师里的例子就有一个为了用这个readline而字节转字符
byte[] buf = new byte[1024]; int len =0; while(len....!=-1){....}  // 字节流读取,字节读取的类里,基本都可以用这个,只要不返回-1就读一个写一个

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马