★★Java質問・相談スレッド135★★
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
300:デフォルトの名無しさん 10/01/18 11:32:29 FileChannelについての質問です。 mapメソッドを用いてメモリ上にマッピングを行ったファイルを削除する方法を教えてください。 FileInputStream fis = new FileInputStream(source); FileChannel channel = fis.getChannel(); MappedByteBuffer buf = channel.map(MapMode.READ_ONLY, 0, 0x10); fis.close(); System.out.println(source.delete()); このように、closeするだけでは削除に失敗するのです。 メモリの解放が行えたらいいと思うのですが・・・ お願いします。 301:デフォルトの名無しさん 10/01/18 13:18:49 >>300 buf = null; System.gc(); SystemrunFinalization() System.out.println(source.delete()); 現状、MappedByteBuffer のファイナライザしか メモリマップドファイル閉じられないんだよね。 Bug Database にもあるけど。 http://bugs.sun.com/view_bug.do?bug_id=4724038 302:デフォルトの名無しさん 10/01/18 13:23:47 >>301 ありがとうございます! 納得ですね。自分でもBug Databaseを調べてみようと思います。
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5395日前に更新/167 KB
担当:undef