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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

能不能把一个图片文件中的数据读写到一个txt文件中(大家能够做到)呵呵,肯定是一大片乱码,怎样又从这个txt文件中读取数据,转化成为一张图片呢?而且保证两张图片是一样的?仔细想想是不符合逻辑的,因为txt中的数据已经失真了,但是还是想听听大家的想法?

4 个回复

倒序浏览
没问题的  全程(读,写,以及中间不要修改)不要用CharSet编解码,用字节流
回复 使用道具 举报
能,所有的文件,最终都是以字节形式存到硬盘上的,所以只要不用字符流,文件类型是随便的。数据也不会失真,因为二进制数据是一样的。
回复 使用道具 举报
本帖最后由 wkz_crystal 于 2015-4-15 00:28 编辑

试了一下,的确很OK的!通过最基本的字节流就能完成了……
  1. //注意:我只是随便写了一个,仅仅是演示用的,没有专业处理异常问题:
  2. import java.io.*;
  3. class Test
  4. {
  5.         public static void main(String[] args) throws IOException
  6.         {
  7.                 read();
  8.                 write();
  9.         }
  10.        
  11.         //这是把图片文件读写到txt文件中
  12.         public static void read() throws IOException
  13.         {
  14.                 FileInputStream fis=new FileInputStream("c:"+File.separator+"car.jpg");
  15.                 FileOutputStream pos=new FileOutputStream("c:"+File.separator+"data.txt");
  16.                 byte[] buf=new byte[1024];
  17.                 int num=0;
  18.                 while ((num=fis.read(buf))!=-1)
  19.                 {
  20.                         pos.write(buf,0,num);
  21.                 }

  22.                 pos.close();
  23.                 fis.close();
  24.         }

  25.         //再通过读取txt文件中内容,写在d盘中,还原成为图片文件
  26.         public static void write() throws IOException
  27.         {
  28.                 FileInputStream fi=new FileInputStream("c:"+File.separator+"data.txt");
  29.                 FileOutputStream po=new FileOutputStream("d:"+File.separator+"car.jpg");
  30.                 byte[] b=new byte[1024];
  31.                 int num=0;
  32.                 while ((num=fi.read(b))!=-1)
  33.                 {
  34.                         po.write(b,0,num);
  35.                 }

  36.                 po.close();
  37.                 fi.close();
  38.         }
  39. }
复制代码



回复 使用道具 举报
sisel 发表于 2015-4-13 16:12
没问题的  全程(读,写,以及中间不要修改)不要用CharSet编解码,用字节流 ...

谢谢,知道了,我之前想得太多了,今天试了一下,一切OK的!我还以为数据写到了txt文件中就失真了!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马