2016-11-27 26 views
0

これは宿題です。ファイル内のすべての行の先頭にテキストを追加します。

テキストファイルのすべての行の先頭にテキストを追加する方法を教えてもらえますか?これはこれまで私が持っていたものです:

ファイル内のどこに追加するかを調べるためのテストとして "hello"しか表示されませんでした。最後の行の最後に追加されます。最初の行の先頭に追加する必要がありますし、ループを使用して後続の行の先頭に追加する必要があります。

また、ファイル名の入力を求めるプロンプトが表示されます。

+0

出力はnewText + restOfFileになりますか? –

+0

ファイルの各行の先頭にテキストを追加する必要があります。 – derek00101110

+0

同じファイルに対して同時に読み書きすることはできません。これを行う唯一の方法は、一時ファイルに書き込むことです。古いファイルの名前を変更したら、新しいファイルの名前を変更して古いファイルを削除します。 stdinから読み込んでstdoutに書き込んで、コマンドラインでリダイレクトを指定させることもできます。 –

答えて

1

ファイルの内容を変更する最も簡単な方法は、ファイルを開いて読み込み、構造体に読み込んだり、書き込むためにファイルを開いたり、構造体からファイルに書き戻したりすることです。ファイルが大きければ、パフォーマンスは完全に許容されます。

Java 8を使用している場合、これはかなり簡単です。ファイルにPathがあるとします:

List<String> lines = Files.lines(path).map(s -> "Prefix" + s).collect(Collectors.toList()); 
Files.write(path, lines); 
関連する問題