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 パスを変更したところ、null ポイントの例外が発生したため、正しいファイルの場所にいることはわかっています。現在のファイル パスには何もありません。

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 に答える