[code="java"]
String str = "kljkljkljlkjkljkl";
String conversionEncode = new String(str.getBytes(), "UTF-16");
File file = new File("d://text.txt");
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(file)));
writer.write(conversionEncode);
writer.flush();
BufferedReader reader = new BufferedReader(new InputStreamReader(
new FileInputStream(file)));
System.out.println(new String(reader.readLine().getBytes(), "UTF-16"));
System.out.println(conversionEncode);
[/code]
为什么我用UTf-16写入文件,然后在用UTF-16读出来就是乱码,而且文件里面,打开也全是???,如果改为用UTF-32就全是什么YY这类的,这是什么原因啊。只要想同的编码写的,然后再用相同的编码去读不就没有乱码吗?这是为什么呢?但是如果改为UTF-8,写和读就能正常显示。。。请问大牛啊 。帮忙解释一下原因是什么。