public class Example{public static void main(String []args){
//读出内容并写入另一文件
File inputFile=new File("F:\\xxxx.dat");
File outputFile=new File("F:\\aa.txt");FileReader fr=new FileReader(inputFile);
FileWriter fw=new FileWriter(outputFile);BufferedReader br=new BufferedReader(fr);
BufferedWriter bw=new BufferedWriter(fw);String s;while((s=fr.readLine())!=null){
   bw.write(s);
}br.close();
bw.close();
fr.close();
fw.close();//读出并显示在JTextArea里
BufferedReader buffer=new BufferedReader(new FileReader("F:\\aa.txt"));
String ss;JFrame jf=new JFrame();
jf.setSize(400,400);
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);JTextArea jta=new JTestArea();
jf.getContentPane().add(jta);while((ss=buffer.readLine())!=null){
   jta.append(ss);
}jf.show();
}
}

解决方案 »

  1.   

    用FileInputStream的read(byte[])可以以字节数组的方式获得文件中的内容,这时你要知道文件的原始编码,windows下是gbk,big5,Linux 下是ISO-8859-1
    再用String s1=new String(byte[],"unicode")
    再用write(s1.getByte("unicode"))写入文件
    在读出的时候可能也要String s2=new String(byte[],"gbk")显示这是我用来转换字符串是的方法,还有一种方法,用javac –encoding GBK,可以于平台无关,不知道试不试用你这种情况,你有兴趣可以试试