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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 山治0712 中级黑马   /  2014-3-2 20:06  /  1385 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

你们觉得能用FileReader去读一个图片文件吗?用FileWriter将数据写出去会怎样呢?

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

9 个回复

倒序浏览
图片是字节码文件,你只能用字节流进行输入输出。
回复 使用道具 举报
你硬要使用 FileReader/FileWriter对图片文件进行读写操作不是不可以,只是会出错罢了。
FileReader/FileWriter是字符读写流,存在译码编码处理,当采用 FileReader/FileWriter这类字符流处理图片文件时,文件会受损,你可以试下,文件会变大,而且打不开。
PS:
只有文本文件采用字符流进行直接处理,所有的文件都可以用字节流。

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
Amorvos 发表于 2014-3-2 22:30
你硬要使用 FileReader/FileWriter对图片文件进行读写操作不是不可以,只是会出错罢了。
FileReader/FileW ...

我试过,呵呵,文件变小点的,图片也打不开,只是原因不是巨清楚,不就是读取数据写入数据吗,两个字节一起读一起写应该没问题的啊,编码不都是默认的吗?
回复 使用道具 举报
平凡成就非凡 发表于 2014-3-2 20:47
图片是字节码文件,你只能用字节流进行输入输出。

字符数据不就是两个字节数据组成的吗
回复 使用道具 举报
不能读取图片文件,FileReader 是字符流输入流,而图片文件是字节码文件,一个字符是两个字节, 既然读到的就已经是乱码了那写出后就会出现乱码情况.
像音频,视频,图片类的,也就是用记事本打开后看不懂的,出现乱码的就要用字节流来操作.

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
毕老师说过,可以进行期操作,但是可能会有文件打不开的情况。我也试过,果然如此。
回复 使用道具 举报
我觉得这个要先设置下码表了 iso8859-1  。 因为这个是8位编码的,所以字符和字节是相同的。 所以用Reader读的时候相当于读字节
回复 使用道具 举报
可以通过转换流对其进行操作
回复 使用道具 举报
字节流与字符流的区别就在编码上。编码不同打开也是乱的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马