• 締切済み

フロッピーが入っているかどうかのチェック

フロッピードライブにフロッピーが入っているかどうかのチェックがJAVAで出来なくて困っています。具体的には、会社のマシン(英語NT4.0,英語JDK1.2.2) でjava.io.File.listRoots() に a:\\ が含まれてくるので new java.io.File("a:\\").exists() を行うとフロッピーが入っていないと言うメッセージボックスが(モーダルで)でて、Abort か Ignore のボタンを押さないと処理が先に進まなくなってしまいます(結果はfalse が帰ってくる)。このメッセージボックスを出さずにフロッピーが入っているかをチェックしたいのです。 実は家(日本語Win98,日本語対応(?)JDK1.2.2)で同じ事を行うとメッセージボックスは出ず、素直に false が帰ってきて、こちらは問題がないのです。会社のマシンで動くようにしたいのですが何か VM の設定でもあるのでしょうか。ちなみに CD-ROM ドライブに対しては問題ありませんでした。 NT上でJAVAのプロセスを走らせてリモートからアクセスさせる事したいと思っており、このチェックが出来ないとフロッピーへのアクセスをあきらめなければなりません。何かアドバイスなどあればお願いします。

みんなの回答

回答No.1

File クラスを作成した後に、 canRead() メソッドを流すとアクセスした後にフロッピーが 入っていなければ false が帰ってきます。 #この方法はCD-ROMなどのリムーバブルディスクにも使用できます。 例) File f = new File("a:" + File.separator); if(f.canRead()){ System.out.println("読める"); } else { System.out.println("読めない"); }

rabbie
質問者

お礼

回答ありがとうございます。お礼が大変遅くなってしまい申し訳ありません。 さっそく試してみたのですが、canRead() のところでやはり "No Disk" のダイアログが出てきて処理がブロックされてしまいます。スクリーンショットをWebに置いておきましたので見てみてください。 http://www.geocities.co.jp/HeartLand-Suzuran/3833/fddaccess.html

関連するQ&A