如何阻止我的输出文件中文字符?

时间:2016-03-10 12:57:56

标签: java jtable byte ascii randomaccessfile

我正在尝试通过从特定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+" ");

我做错了什么......?

1 个答案:

答案 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+" ");