import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.nio.CharBuffer;
public class Ooutputstreamwrite {
public static void main(String[] args) throws IOException {
OutputStreamWriter o= new OutputStreamWriter(new FileOutputStream("D:\\FILE\\a.txt"),"GBK");
/* 构造方法
* OutputStreamWriter(OutputStream out)
* OutputStreamWriter(OutputStream out,String charsetName) */
InputStreamReader i= new InputStreamReader(new FileInputStream("D:\\FILE\\java.txt"),"GBK");
char[] b=new char[100];
while(i.read(b)!=-1) {
o.write(b);
}
o.close();
i.close();
}
}
a.txt文件复制内容乱码
加上了GBK编码为什么还是乱码,new String()方法里面要求的是 byte[]类型,强制转换也不行,字符流用来操作中文的便利性体现在哪里,感觉还是很麻烦
成功复制中文
要保证 java.txt 文件使用 GBK 编码存储才能用 GBK 编码读取,否则就会乱码,如果你不确定编码类型的话可以改成 UTF-8
试试看,这个编码用的比较多。