- PR -

ファイルの中身の置き換えなのですが

1
投稿者投稿内容
T-Zone
会議室デビュー日: 2002/08/01
投稿数: 5
投稿日時: 2002-08-19 11:58
初めまして、キョウと申します。
Javaを始めて1年弱ですが、ちょっと疑問がありまして書き込みさせて頂いてます。
疑問とはファイルの中身を置き換え処理を行いたいのですが、1つのファイルだけで処理は行えないでしょうか?
例えば、Test.txtというファイルがありこのテキストの一部を書き換えて保存といった処理を
行いたいのですが、現在はtempファイルを作成しこれにオリジナルの内容と、書き換えたい内容を書き込んで、オリジナルを削除、tempで作成したファイルをReNameしております。このやり方はただしいのでしょうか?
それともTest.txtファイルだけで(つまりTempファイルを使わずに)処理を行うほうがいいのでしょうか?
同じようなことを以前したことがあるという方、どうかその時の処理の方法をお教えください。
お願いします。


しょむ
ぬし
会議室デビュー日: 2001/09/06
投稿数: 430
投稿日時: 2002-08-19 13:51
テンポラリファイルを作りたくなければ、
メモリ上にぜんぶ読み込んで変換作業、そのあと上書きでいいのでは。

書き出したときに容量不足などの I/O エラーで
内容が失われてしまうという危険を伴いますし、
排他制御などもしにくそうなので、どうかなと思いますが。

# Java 1.4 の mmio とかでどないかならんのかなとも思いつつ。
# めんどくさそうだ。
T-Zone
会議室デビュー日: 2002/08/01
投稿数: 5
投稿日時: 2002-08-19 16:57
しょむさんお返事有難うございます。
ファイルサイズが結構大きいものも扱うので、
BufferedReaderやらBufferedWriterなどでメモリに展開してからも色々と考慮したりRandomAccessFileとかも試したのですが、大きいファイルやしょむさんの言われているように、結構めんどくさい(バイト数考慮など)のでtempファイルを使用したのですが、しょうがないですね。
それにtempファイルを使ったほうが楽ですので・・・(^^ゞ
パフォーマンスはそれほど問われていませんので確実を採りたいと思います。
どうも有難うございました。
1

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