Java 如何读取非字母数字字符

Java 如何读取非字母数字字符,java,encoding,Java,Encoding,如何在Java中读取非字母数字字符(如中文字符)?我试图从.properties文件中读取一个值,但输出中出现了断字符 filename = some method returning the file in Chinese response.setProperty("Content-disposition", "attachment; filename=\"" + fileName +"\""); response.setContentType("text/xlscharset=UTF-8

如何在Java中读取非字母数字字符(如中文字符)?我试图从
.properties
文件中读取一个值,但输出中出现了断字符

filename = some method returning the file in Chinese 

response.setProperty("Content-disposition", "attachment; filename=\"" + fileName +"\"");
response.setContentType("text/xlscharset=UTF-8");
response.setCharacterEncoding("utf-8");

不确定,您是如何读取文件的。我建议您使用
BufferedReader
读取文件,如下所示:

BufferedReader br = new BufferedReader(new InputStreamReader(
                new FileInputStream("myFilePath"),"UTF8"));

上面的代码将处理中文字符。现在,您可以使用
br
处理您的属性文件。如果您的文件是
UTF-16
,请将
UTF8
编码替换为
UTF-16
,它应该可以为您完成工作。

将您尝试的内容放在问题中。编辑问题谢谢。注释中的代码看起来不可读。也包括设置文件的一部分。在我的场景中,文件名本身包含中文字符。因此,在文件路径中使用名称时,它无法识别文件。如果我在后端打印文件名,我会在控制台中获得断字符。您可以使用中给出的方法获取文件名,然后将文件名传递给
BufferedReader
。我的java字符串包含中文字符。当我打印时,它显示的是破碎的字符。我希望我的字符串包含中文字符。可能吗?@JavaLearner是的,字符串可以包含汉字。如果您想在输出屏幕/控制台上显示,请查看eclipse的设置。下载名称中包含汉字的文件时,我会收到“文件未找到异常”。但该文件存在于驱动器中,“打开并保存”弹出窗口中的文件名也可以。