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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

ItJack

中级黑马

  • 黑马币:

  • 帖子:

  • 精华:

© ItJack 中级黑马   /  2014-9-12 16:42  /  1071 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

拷贝word文件出现乱码,求解答。
        这两天在学习io流的相关知识,学得差不多了。我自己也写了很多实例,但都没发现什么问题。今天我同学叫我帮他写一个工具,就是把一个word文件里面的数据读取到网页上并在网页上显示。听到这个问题的时候我就想是不是可以用流来解决这个问题,于是我就开始写代码。但通过写代码我发现,如果我操作的是对象是txt、jgp或者是视频文件的时候不会出现问题,但如果我操作word文档时就会出现这个问题。
        拷贝txt代码:

  1. <P align=left> public static byte[] getWordBytes(File wordFile,File copyFile) {
  2.   
  3.   byte[] wordData = null;
  4.   try {
  5.    FileInputStream fis = new FileInputStream(wordFile);
  6.    
  7.    byte[] buf = new byte[1024];
  8.    int line = 0;
  9.    while((line = fis.read(buf)) != -1) {
  10.     wordData = buf;
  11.    }
  12.    
  13.    FileOutputStream fos = new FileOutputStream(copyFile);
  14.    fos.write(wordData);
  15.    
  16.    fis.close();
  17.    fos.close();
  18.   } catch (FileNotFoundException e) {
  19.    e.printStackTrace();
  20.   } catch (IOException e1) {
  21.    e1.printStackTrace();
  22.   }
  23.   return null;
  24. }

  25. public static void main(String[] args) {
  26.   File file = new File("d:\\1.txt");
  27.   File copyFile = new File("d:\\copy_1.txt");
  28.   getWordBytes(file,copyFile);
  29. }
  30. }
  31. </P>
复制代码
拷贝后结果:

但如果拷贝的是doc文件的话就会出现这样的情况:
这个地方我选择了各种编码都会出现这个问题,求解决啊。

评分

参与人数 1技术分 +1 收起 理由
付江涛 + 1 淡定

查看全部评分

3 个回复

正序浏览
学习了,哈哈
回复 使用道具 举报
fos.write()放到while循环里面。需要读一个数组,写一个数组
回复 使用道具 举报
代码中的<p>标签怎么自动加上去了?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马