当前位置: 技术问答>java相关
Java的中文读写问题,有请各位了。
来源: 互联网 发布时间:2015-01-29
本文导语: Java中读写big5及gb的文件,在Default font = GB2312的Win2000平台,用: string_a = new String(string_a.getBytes(), "BIG5"); 可以看到繁体中文,但是存储时,即使用了: FileWriter.write(new string(string_code, "BIG5"("Big5"我也用过)); 一...
Java中读写big5及gb的文件,在Default font = GB2312的Win2000平台,用:
string_a = new String(string_a.getBytes(), "BIG5");
可以看到繁体中文,但是存储时,即使用了:
FileWriter.write(new string(string_code, "BIG5"("Big5"我也用过));
一样的错。下次再装入的时候,就全乱了。
恳请各位帮助,分数不在话下。
string_a = new String(string_a.getBytes(), "BIG5");
可以看到繁体中文,但是存储时,即使用了:
FileWriter.write(new string(string_code, "BIG5"("Big5"我也用过));
一样的错。下次再装入的时候,就全乱了。
恳请各位帮助,分数不在话下。
|
kiddycoffee这种写法真的不行的!我试过。
只能用 改变*流*的编码 的方式实现!!!!不是 改变*字串*的编码 !!!
|
我一直认为中文问题和平台有很大关系,
FileWriter.write(new string(string_code, "BIG5"("Big5"我也用过));
你试试再写入的时候不作转码!
FileWriter.write(new string(string_code, "BIG5"("Big5"我也用过));
你试试再写入的时候不作转码!
|
不要直接写字符串,因为写到GB码的系统中会认为写入的是GB码的字符串,当然乱码,应该象读入时一样转换为相应编码的字节码(GB或BIG5)再写入文件.
如果正确,别忘了给分哦...
如果正确,别忘了给分哦...
|
不是这样写的
写的时候:
String str = "中國";
FileOutputStream fileOut = new FileOutputStream("C:\1.txt");
fileOut.write(str.getBytes("BIG5"));
这样将把一个大五码的数据写进文件。
读的时候:
FileInputStream fileIn = new FileInputStream("C:\1.txt");
byte[] btarr = new byte[fileIn.avaliable()];
fileIn.read(btarr);
String str = new String(btarr, "BIG5");
没有测试,你试试吧。
写的时候:
String str = "中國";
FileOutputStream fileOut = new FileOutputStream("C:\1.txt");
fileOut.write(str.getBytes("BIG5"));
这样将把一个大五码的数据写进文件。
读的时候:
FileInputStream fileIn = new FileInputStream("C:\1.txt");
byte[] btarr = new byte[fileIn.avaliable()];
fileIn.read(btarr);
String str = new String(btarr, "BIG5");
没有测试,你试试吧。