java中用文件的输入输出流复制文件为什么只能复制成TXT文件

java中用文件的输入输出流复制文件为什么只能复制成TXT文件,要想复制成word文件怎么就出错?而且从word文件中复制成txt文件也出错代码如下:importjava... java中用文件的输入输出流复制文件为什么只能复制成TXT文件,要想复制成word 文件怎么就出错?
而且从word文件中复制成txt 文件也出错
代码如下:
import java.io.*;
public class com14 {

public static void main(String[] args) {
int b=0;
FileReader fr= null;
FileWriter fw =null;
try {
fr = new FileReader("e:/111.docx");
fw = new FileWriter("e:/2222.txt",true);

char []chars = new char[512];
while ((b=fr.read(chars))!=-1) {

fw.write(chars, 0, b);
}
fw.flush();
fr.close();
fw.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

读文件和写文件中只要有一个是word文件就会出错 ?换成txt文件或java文件就不会出错!
展开
 我来答
米个都无
2015-08-31 · TA获得超过253个赞
知道答主
回答量:28
采纳率:100%
帮助的人:10.2万
展开全部
word文件不是纯文本文件。
复制非纯文本文件,应该使用FileInputStream/FileOutputStream,
而不是FileReader/FileWriter。
追问
FileInputStream/FileOutputStream  是按字节来读的,读中文只能读半个字。
Forrest_brm
推荐于2016-08-30 · TA获得超过327个赞
知道小有建树答主
回答量:217
采纳率:100%
帮助的人:248万
展开全部
这个问题很简单。
先分析问题:所有的office文件,都是特殊格式的文件。并不是里边是文字,就可以当做纯文本来读的。格式是处理过的。
复制成txt文件时你输出流fw = new FileWriter("e:/2222.txt",true);写成了txt

解决方法:你要读word时,可以用jad+openoffice来读。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式