当输入具有字符“é”(ALT130)时,我在读取 URL 的 JSON 时遇到问题。奇怪的是,该程序在从 NetBeans IDE 中启动时可以工作,但在从分发 jar 启动时却不能。这是我正在使用的代码:
public class URLReader {
private URL url;
private BufferedReader in;
private String inputLine;
public void getTextFromURL(String address) {
try {
url = new URL(address);
GUI.textArea.append("url created\n");
in = new BufferedReader(new InputStreamReader(url.openStream(),"UTF-8"));
GUI.textArea.append("buffered reader created\n");
while((inputLine = in.readLine()) != null)
GUI.textArea.append(inputLine+"\n");
in.close();
} catch (IOException ex) {
GUI.textArea.append("IO Exception");
}
}
从 NetBeans IDE 中启动程序时得到的输出如下:
但是,当我从 dist jar 启动程序时,我得到的输出是:
URL 对象似乎创建得很好,但 BufferedReader 似乎抛出了 IOException。有什么问题?