0

我正在尝试打开保存在 JAR 中的 .txt 文件并在 JTextArea 中显示其内容。以下是我尝试使用的代码;

 URL urlToDictionary = this.getClass().getResource("eula/" + "eula.txt");
      try {
        InputStream stream = urlToDictionary.openStream();
        gettysburgTextStrBlder = stream;
        System.out.println(stream);
    } catch (IOException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }

我知道我在正确的文件位置,因为我已经更改了 .getResource 路径并看到了空点异常,我没有当前文件路径。

System.out 在运行时打印以下内容:

java.io.BufferedInputStream@3af42ad0

我也试过;

gettysburgTextStrBlder = String.valueOf(stream);

但是我得到的结果是一样的。

我想我快到了,但不确定如何获取 .txt 文件的实际内容,而不仅仅是缓冲流。

谢谢。

安迪

4

1 回答 1

3

您必须从输入流中读取内容并使用BufferedReader

URL urlToDictionary = this.getClass().getResource("eula/" + "eula.txt");
  try {
    InputStream stream = urlToDictionary.openStream();
    BufferedReader br = new BufferedReader(new InputStreamReader(stream));
    String line = null;
    StringBuffer lineContent = new StringBuffer();
    while((line = br.readLine()) != null){
        lineContent.append(line).append("\n");
    }
    br.close().
    System.out.println(lineContent.toString());
} catch (IOException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
}
于 2013-03-23T10:15:41.020 回答