2

ファイルを開いて、1行ずつ読みたい。一部の行では、まさにこの行に文字列を追加したいと考えています。これは可能ですか?

ファイルを開いて次のように読み取るためのコードがあります。

File file = new File("MyFile.txt");
BufferedReader bufRdr = new BufferedReader(new FileReader(file));

String line = null;

try {
    while((line = bufRdr.readLine()) != null)
    {
        // read line by line and append some string to the line

    }
} catch (IOException e) {
    // ...
}

しかし、現在の行に文字列を追加して、これをファイルに書き込むにはどうすればよいですか?

4

3 に答える 3

1

ファイルを1行ずつ読んでいるように。テキストを行に追加し、他のファイルに書き込みます。たとえば、別の名前のファイルがあり、後でファイルの名前を変更できるとします。

と同じように

try {
   while((line = bufRdr.readLine()) != null)
    {
    // read line by line and append some string to the line
    //pseudo code
    newline = line + "yourtext";
    outputstreamtootherfile.write(newline);

    }
} 

読み取り/書き込みロックを保持しているため、同じファイルに対して同時に読み取りと書き込みを行う方法はないと思います。

ありがとう

于 2013-05-04T09:25:44.187 に答える
0
  1. readLines行を読み取りList<String>、必要に応じて一部の文字列 (行) を変更します
  2. 新しい一時ファイルを作成する
  3. 追加によって行(または行ごと)をそれに書き込みます
  4. 古いファイルを削除
  5. 名前を変更
于 2013-05-04T09:29:26.403 に答える
0

新しいファイルを作成し、必要な変更を加えて(他のファイルを1行ずつ読み取るように)このファイルに書き込み続けます。次に、既存のものを削除し、新しく作成されたファイルに削除されたファイルの名前を付けます。これが私がアプローチする方法です。

これは、このアプローチと他の代替案を確認するリンクです。

Java で .txt ファイルを変更する

于 2013-05-04T09:24:41.507 に答える