日期:2014-05-20  浏览次数:20836 次

使用Buffered流复制文件时,数据大小和原数据大小不一致!求解!
package Demo;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

/*
 * 需求:使用BufferedReader和BufferedWriter实现文件的拷贝
 */
public class Demo8 {
public static void main(String[] args) throws IOException {
FileReader fr = new FileReader("D:/diyssh.pbk");
BufferedReader br = new BufferedReader(fr);
FileWriter fw = new FileWriter("D:/diyssh.pbk1");
BufferedWriter bw = new BufferedWriter(fw);
int x = 0;
while((x = br.read())!=-1){
bw.write(x);
}
bw.close();
br.close();
}
}



以上是我的代码,复制这个非文本的pbk文件没有问题的,但是复制MP3时,复制的文件会比原来的文件大,并且无法打开!,大神们帮我看看到底怎么回事啊?
------解决方案--------------------
你读mp3还用文本流读,,,,这个应该用字节流。。选取inputstream和outputStream....而不是Writer和Reeader