重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

フロッピードライブにフロッピーが入っているかどうかのチェックが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のプロセスを走らせてリモートからアクセスさせる事したいと思っており、このチェックが出来ないとフロッピーへのアクセスをあきらめなければなりません。何かアドバイスなどあればお願いします。

A 回答 (1件)

File クラスを作成した後に、


canRead() メソッドを流すとアクセスした後にフロッピーが
入っていなければ false が帰ってきます。
#この方法はCD-ROMなどのリムーバブルディスクにも使用できます。

例)
File f = new File("a:" + File.separator);
if(f.canRead()){
System.out.println("読める");
} else {
System.out.println("読めない");
}
    • good
    • 0
この回答へのお礼

回答ありがとうございます。お礼が大変遅くなってしまい申し訳ありません。

さっそく試してみたのですが、canRead() のところでやはり "No Disk" のダイアログが出てきて処理がブロックされてしまいます。スクリーンショットをWebに置いておきましたので見てみてください。

http://www.geocities.co.jp/HeartLand-Suzuran/383 …

お礼日時:2001/03/11 16:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

今、見られている記事はコレ!