-1

ユーザーがテキスト領域でテキストファイルを開いて、テキストエディタのように新しい文字を入力できるようにするコードを作成しました。大きなファイルを編集して大量の文字を入力すると、容量の問題があるようですが、ファイルはそうではありません。 tは保存されます。StringBuffer stuff.ensureCapacity(10000);を試しましたが、まだ機能しませんでした。問題はファイルに保存するときなのか、テキスト領域内で変更するときなのか疑問に思います。私はこのようなものを持っています:

  java.lang.StringBuffer text = new java.lang.StringBuffer();
  //some code here

  File myFile = new File(filename);
  DataInputStream dis = new DataInputStream(new FileInputStream (myFile));

    while((data = dis.readLine()) != null)
    {
      text.append(data+"\n");
    }
4

1 に答える 1

0

いくつかのポインタ。

  • 指定する必要はありませんjava.lang.
  • StringBuilderを使用できる場合は、StringBufferを使用しないでください
  • 最も重要なことは、混乱を招くため、テキストとバイナリを混在させないでください。

ファイル全体を文字列として読み取りたい場合は、Java7で使用することをお勧めします

Path path = FileSystems.getDefault().getPath("logs", "access.log");
String text = new String(Files.readAllBytes(path), "UTF-8");

またはApacheCommonsIOFileUtilsを使用

String text = FileUtils.readFileToString(new File(filename));
于 2012-12-03T21:41:32.643 に答える