-2

私はゲームを作っていますが、それをインストールするには、ファイルを解凍するために 7zip が必要なので、7zip インストーラーを含めました。7zip icenseを入力するために JTextArea を含む JFrame を作成しましたが、BufferedReader で txt ファイル全体を読み取ることができません (57 行あり、主に Bufferedreader がそれほど多くの行を読み取るように設計されていないためだと思います)。ライセンスをゲームに追加できるように、ファイルを読むのを手伝ってください。ありがとう、ジャクソン

編集あなたたちが知らないことに対して初心者にお金を払うとき、私はとても愛されていると感じます-_-

4

3 に答える 3

1

ファイルから完全なテキストを読み取るだけです。それを変数に格納してから、Stringその値を に入れますJTextArea。これは、57 行は JVM のメモリに格納するにはそれほど大きくないためです。

于 2012-05-13T12:33:40.683 に答える
1

私は最近、BufferedReader を使用して gzip ファイルから 11 億行を読み取るプログラムを作成しました。

57 行ほどの小さなファイル全体を読み取る最も簡単な方法は、

String text = FileUtils.readFileToString(new File("uncompressedfile.txt"));

また

String text = FileUtils.readFileToString(new File("uncompressedfile.txt"), "UTF-8");

または gzip で圧縮されている場合 (7zip と同様)

String text = IOUtils.toString(new GZipInputStream("compressedfile.txt.gz"));
于 2012-05-13T12:47:45.793 に答える
0

あなたは2つの方法でそれを行うことができます:-

1>スキャナーの使い方

void read() throws IOException {
    StringBuilder text = new StringBuilder();
    String NL = System.getProperty("line.separator");
    Scanner scanner = new Scanner(new FileInputStream(fFileName), fEncoding);
    try {
      while (scanner.hasNextLine()){
        text.append(scanner.nextLine() + NL);
      }
    }
    finally{
      scanner.close();
    }
    log("Text read in: " + text);
  }

2>BufferredReader

static public String getContents(File aFile) {

    StringBuilder contents = new StringBuilder();

    try {

      BufferedReader input =  new BufferedReader(new FileReader(aFile));
      try {

        while (( line = input.readLine()) != null){
          contents.append(line);
          contents.append(System.getProperty("line.separator"));
        }
      }
      finally {
        input.close();
      }
    }
    catch (IOException ex){
      ex.printStackTrace();
    }

    return contents.toString();
  }

57行はそれほど大きくありません.gbのファイルを読み取るためにbufferedreaderが使用されています:)

于 2012-05-13T12:48:23.593 に答える