繁体   English   中英

如何在Java中使用中文和日语字符作为字符串?

[英]how to use chinese and japanese character as string in java?

你好
我正在使用Java语言。 在此,我必须使用一些中文,日文字符作为字符串,并使用System.out.println()进行打印。

我怎样才能做到这一点?

谢谢

Java字符串支持Unicode,因此中文和日语没有问题。 不过,可能需要告知其他工具(例如文本编辑器)和OS Shell。

在读取或打印Unicode数据时,必须确保控制台或流也支持Unicode(否则它可能会被问号替换)。

Writer unicodeFileWriter = new OutputStreamWriter(
    new FileOutputStream("a.txt"), "UTF-8");
unicodeFileWriter.write("漢字");

您可以直接将Unicode文字嵌入Java源代码文件中,但是您需要告诉编译器该文件位于UTF-8中( javac -encoding UTF-8 )。

String x = "漢字";

如果想发狂,甚至可以在方法,变量或类名中使用中文字符。 但这违背了命名约定,我强烈建议至少不要在类名中使用它(因为它们需要映射到文件名,而Unicode可能会在其中引起问题):

結果 漢字 = new 物().処理();

只需使用它,Java字符串就完全是unicode,因此不必说什么也不难

System.out.println("世界您好!");

有点过时了,但这让我哇!

http://xahlee.org/java-a-day/unicode_in_java.html

这篇文章是关于变量命名的,您可以说直接在源代码中编写中文/日语字符串就足够了。

还有一点要记住,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方法(此方法不接受任何内容)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM