我正在尝试通过从特定jtable的单元格中获取数据来写入RandomAccessFile。我将字符串转换为字节,然后实现.write()函数以写入输出文件。
我做到了,这样我就可以通过将字节打印到控制台中来查看输出内容。但是,当我检查输出文件时,看到了汉字。
String data = (String) table.getModel().getValueAt(r,c).toString();
byte[] BytedString = data.getBytes();
file.write(BytedString);
String s = new String(BytedString);
System.out.print(s+" ");
我做错什么了吗...?
最佳答案
在您的代码中,而不是使用:String s = new String(BytedString);
采用:String s = new String(BytedString, "UTF-8");
要么
new String(BytedString, "US-ASCII");
new String(BytedString, "ISO-8859-1");
取决于您的平台编码。
String data = (String) table.getModel().getValueAt(r,c).toString();
byte[] BytedString = data.getBytes();
String s = new String(BytedString, "UTF-8");
file.writeChars(s);
System.out.print(s+" ");