簡體   English   中英

如何使用GBK編碼將漢字寫入文本文件?

[英]How to write Chinese character into text file using GBK encoding?

我有一張桌子,一欄有漢字。 我正在嘗試使用GBK編碼將數據寫入一個.txt文件,但出現亂碼。 如果我使用UTF8,那么它會顯示正確的中文字符,但是,我不想使用UTF8。

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();
    }

您是否在build.xml中指定任務的編碼選項?

<javac encoding="GBK" ...>

嘗試這樣做可以為您提供幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM