- - PR -
ファイルの末尾のデータを削除
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-10-20 23:28
お世話になっております。
とある理由から ファイルの末尾2byteのデータを削除したいと思っています。 例) ・処理前: A.dat -> 8194[byte] ・処理後: A.dat -> 8192[byte] ファイルをストリームでコピーして、 末尾2byteだけ書き込まない、というのが一番簡単な方法かと思いますが、 それだとファイルサイズが大きいと時間がかかってしまいます。 JDK1.3の環境で 簡単にファイルの末尾を削除することは可能でしょうか? |
|
投稿日時: 2008-10-21 00:43
http://www.hellohiro.com/fileio.htm
1.4からって書いてありますね。 1.3でももしかしたら使えるんじゃないでしょか。 ファイルの大きさにもよりますが、読み込みバッファを64Kバイト以上ファイルサイズの10分の1くらい(メモリと相談してMAX4Mくらい)確保すればそんなに時間 は掛からないかと。 http://www.nextindex.net/java/IO/sample.html |
|
投稿日時: 2008-10-21 09:18
java.io.RandomAccessFileが使えるのであれば 1.2で追加されたRandomAccessFile#setLength(long)を使えばよいのではないかと。
|
|
投稿日時: 2008-10-21 09:24
ぴあちゃんさん、お犬様、ありがとうございます。
RandomAccessFile#setLength(long)は盲点でした。 ドキュメントをよく読んでませんでした。 助かります。 ありがとうございました。 |
1