采用BufferedReader和Writer实现word文件拷贝出现乱码问题
import java.io.*;
public class BufferedTest
{
public static void main(String args[]) throws
IOException {
File f=new File("JPA学习笔记.doc");
File fc=new File("副本.doc");
FileInputStream fis=new FileInputStream(f);
InputStreamReader isr=new InputStreamReader(fis,"UTF-16");
BufferedReader br=new BufferedReader(isr);
FileOutputStream fos=new FileOutputStream(fc);
OutputStreamWriter osw=new OutputStreamWriter(fos,"UTF-16");
BufferedWriter bw=new BufferedWriter(osw);
String s=br.readLine();
while(s!=null)
{
bw.write(s);
bw.newLine();
bw.flush();
s=br.readLine();
}
br.close();
isr.close();
fis.close();
bw.close();
osw.close();
fos.close();
}
}
本人想采用以上代码实现word文件的复制功能,但复制后的文件总是乱码,而且字节数目与源文件有偏差,
请高手指出错误之处。几种编码方式都试过了,就是不行。
------解决方案--------------------
InputStream / OutputStream 是面向字节流。
InputReader / OutputWriter 是面向字符流。
如果你的处理要求二进制格式,就不可能用字符流而必须是字节流。
------解决方案--------------------2L说的不错