我正在尝试通过从特定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+" ");
我做错了什么......?
答案 0 :(得分:2)
而不是使用:
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+" ");