0
我有一张桌子,一列中有汉字。我试图使用GBK编码将数据写入一个.txt文件,但它是乱码。如果我使用UTF8,那么它显示正确的中文字符,但是,我不想使用UTF8。如何使用GBK编码将汉字写入文本文件?
String url = "jdbc:oracle:thin:@localhost:1521:TEST";
String user = "testUser";
String pwd = "testUser";
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection(url, user, pwd);
String sql = "Select *from test_table where id=1234";
PreparedStatement stmt = conn.prepareStatement(sql);
ResultSet resultSet = stmt.executeQuery();
String fileName = "C:\\temp\\aaaa.txt";
try (FileOutputStream os = new FileOutputStream(fileName)) {
PrintWriter pw = null;
pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(os, "GBK")));
String[] data = new String[5];
String line;
while (resultSet.next()) {
data[0] = resultSet.getString(1);
data[1] = resultSet.getString(2);
data[2] = resultSet.getString(3);
data[3] = resultSet.getString(4);
data[4] = resultSet.getString(5);
line = setLine(data);
System.out.println(line);
pw.print(line);
}
pw.flush();
}
}
private static String setLine(String[] data) {
StringBuilder line = new StringBuilder();
String delim = ",";
int count= data.length;
for (int i = 0; i < count; i++) {
if (i > 0)
line.append(delim);
if (data[i] != null) {
line.append(data[i]);
}
}
return line.toString();
}
我不想蚂蚁。这是一个简单的java文件,而且编码也可能非常像big5 – Arat
是的,它可能是 –