展开全部
造成乱码有很多的原因:比如文件编码等
但是这段程序乱码是因为字符流和字节流混用e68a84e8a2ad3231313335323631343130323136353331333337616631造成的乱码
读取是用的带缓冲区的字符流 BufferedReader 这是按字符读入
写入磁盘是的是字节流 FileOutputStream 这是按字节写出
解决办法,配套使用,字符流和字节流
一:下面使用字节流复制文本import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class Demo {
public static void main(String[] args) throws Exception {
File file = new File("c:\\123.txt");
FileOutputStream fos = new FileOutputStream(new File("C:\\123COPY.txt"));
FileInputStream br = new FileInputStream(file);
int len;
while((len=br.read())!=-1){
fos.write(len);
}
br.close();
fos.close();
}
}
二:下面使用字符流复制文本import java.io.BufferedReader;
import java.io.BufferedWrit