【问题标题】:Java: my distrib differs from IDE debuggingJava:我的发行版不同于 IDE 调试
【发布时间】:2012-08-18 02:05:29
【问题描述】:

当我通过 NetBeans IDE 从文本文件 (UTF-8) 读取时,它可以正确读取英文和俄文字母,但是当我构建 distrib 时,运行它并读取相同的文件,它无法识别俄文字母(我猜是这样)将发生在英语以外的任何语言中)。

我错过了什么?

[https://img607.imageshack.us/img607/1558/javabug.jpg 的死链接]

更新: 我如何阅读文本文件(我排除了案例代码的所有冗余):

bReader = new BufferedReader(new FileReader(fileName));
String tempString;
tempString = bReader.readLine();
if ((tempString.length() >= 1) && (tempString.substring(0, 1).equals(""))) {
    tempString = tempString.substring(1);
}
//^^^ Former excludes UTF-8 Character at the beginning of a file
//it is actually placed in "", but it can't be seen here
while (tempString != null) {
    tempString = bReader.readLine();
}

所以这里没什么特别的

sir qrtt1 在下面的 cmets 中建议的实际上是有效的,即

尝试向 vm 添加编码配置:java -Dfile.encoding=utf-8 your_main_class

现在我想知道如何在不显式添加此参数的情况下更改程序

【问题讨论】:

  • 请张贴代码,您究竟是如何阅读文本文件的。您似乎在某处使用了默认设置,并且它们在您的开发和运行时环境之间有所不同。

标签: java utf-8 localization ide


【解决方案1】:

尝试将编码配置添加到 vm:

java -Dfile.encoding=utf-8 your_main_class

通常,java 程序有启动它们的小脚本(Windows 上的.bat,或 *n?x 上的 shell 脚本),因此这是为 java 放置选项的好地方。

【讨论】:

  • 那是什么邪术?它有帮助!无论如何要“永久”将此设置附加到我的程序中? (对不起新手问题)
猜你喜欢
  • 2019-08-25
  • 1970-01-01
  • 1970-01-01
  • 2016-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多