您好我使用的是java语言。在这里我必须使用一些中文,日文字符作为字符串并使用System.out.println()进行打印。
我该怎么做?
由于
答案 0 :(得分:23)
Java Strings支持Unicode,所以中文和日文都没问题。但是,可能需要告诉其他工具(例如文本编辑器)和您的操作系统shell。
在读取或打印Unicode数据时,您必须确保控制台或流也支持Unicode(否则它可能会被问号替换)。
Writer unicodeFileWriter = new OutputStreamWriter(
new FileOutputStream("a.txt"), "UTF-8");
unicodeFileWriter.write("漢字");
您可以直接在Java源代码文件中嵌入Unicode文字,但是您需要告诉编译器该文件是UTF-8(javac -encoding UTF-8
)
String x = "漢字";
如果你想疯狂,你甚至可以在方法,变量或类名中使用中文字符。但这违反了命名约定,我强烈反对它至少对于类名称(因为它们需要映射到文件名,Unicode可能会导致问题):
結果 漢字 = new 物().処理();
答案 1 :(得分:4)
使用它,Java Strings完全是unicode,因此没有什么难以说出
System.out.println("世界您好!");
答案 2 :(得分:3)
有点过时,但它让我哇!
http://xahlee.org/java-a-day/unicode_in_java.html
这篇文章是关于变量命名的,你可以告诉它直接在你的源代码中写下你的中文/日文字符串。
答案 3 :(得分:1)
还有一件事需要记住,Reader应该是BufferedReader,我的意思是:
BufferedReader br = new BufferedReader (new InputStreamReader (new FileInputStream (f), "UTF-8"));
必须这样做,因为当你读取文件时,可以调用readLine():
while (br.readLine() != null)
{
System.out.println (br.readLine());
}
这个方法是我发现的唯一可以正常运行的方法,因为常规的Reader不包含非静态的readLine()void方法(此方法不接受任何内容)。