爪哇 - 从JTextField中获取日本并保存到文件(Java - Get Japanese fr

2019-11-05 08:58发布

我想从日本输入JTextField (用getText()方法),并保存该到一个文件。 我相信,它从一开始日本格式JTextField ,因为我可以append()StringJTextArea ,这将是在正确的日语格式。

然而,当我尝试写入文件只变成乱码! 我曾尝试使用一个OutputStreamWriter与实例StandardCharsets.UTF_8和我有一个简单的尝试FileOutputStream ,我在发送字节数从调用getBytes(StandardCharsets.UTF_8)的字符串。 在这两种情况下,生成的文件看起来更像如下:

日本語�難������学����ら�日本��む

这不是我想要的,自然。 没有人有任何想法是什么问题可能是什么?

Answer 1:

我敢肯定你正在创建符合ISO-8859-1,而不是UTF-8的文件。 我还推断,因为你以前的问题,您使用的是Eclipse。

改变你的工作区设置

窗口 - >首选项 - >常规 - >工作空间:UTF-8

默认编码所有内容类型

识别TestClass

这是用来检验理论I类

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;

public class test {
    public static void main(String[] args) throws IOException {
            File fileDir = new File("test.txt");
            String japanese = "路権ち点節ヤトツ限聞ド勇売質タカア";
            Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileDir)));
            out.append(japanese);
            System.out.println(japanese);
            out.flush();
            out.close();
    }
}

使用不同的设置的输入/输出

OutputFileISO: 路権ã¡ç¹ç¯ã¤ããéèãå売質ã¿ã«ã¢

OutputFileUTF8: 路権ち点節ヤトツ限聞ド勇売質タカア



文章来源: Java - Get Japanese from JTextField and save to File