- PR -

ファイルの先頭に1行追加してコピー

1
投稿者投稿内容
あすか
ぬし
会議室デビュー日: 2006/07/12
投稿数: 309
投稿日時: 2006-07-20 16:44
こんにちは。
早速ですが質問です。

今Javaにて次のようなイベントを実装しようとしています。

ファイル /base/base.txt の
1行目にヘッダ情報を差し込んで
/result/00001.txt
を生成する。

今のところの考えでは
in = new BufferedReader(new FileReader("base.txt"));
out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("/result/00001.txt")))
out.write("ヘッダ情報");
out.newLine();
while ((buff = in.readLine()) != null) {
out.write(buff);
}

このような実装を考えております。
(try-catch等は省きました)
動作上は問題ないと思うのですが
ファイル数が多いので毎回ファイルを読み込んで出力というのは
結構処理が重いかなと思っております。

もっといい方法があるというテクニックをお持ちでしたらお願いします。
この方法で問題ないという同意でも嬉しいです。

ご意見がありましたら是非お聞かせいただきたく思います。

よろしくお願いします。

[ メッセージ編集済み 編集者: あすか 編集日時 2006-07-20 17:09 ]
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-07-20 17:22
Javaに限った話ではありませんが、
ファイルの先頭にデータを追加する場合は、
通常あすかさんの例のように実装します。

速度を気にされるのであれば、仕様・設計を見直してみてはいかがでしょうか。

#過去にお客さんから、似たような要求がありましたが、
#理由を説明して、最後に追記という仕様に変更してもらったことがあります。
あすか
ぬし
会議室デビュー日: 2006/07/12
投稿数: 309
投稿日時: 2006-07-20 18:11
お返事ありがとうございます。

やはりこのような実装になりますか。
一度設計を見直してみようと思います。
1

スキルアップ/キャリアアップ(JOB@IT)