2016-11-16 4 views
-2

私は特定のUSBドライブにある場合は真であるブール値を作成しようとしていますが、他のドライブ、リムーバブルなどの場合はfalseです。Java - コンパイルされたファイルが同じUSBドライブにあることを確認する方法を教えてください。

public class USBChecker { 

    private final boolean isMyUSBDrive = somecondition; 

    public static void check(String[] args) { 
    if (isMyUSBDrive) { 
     System.out.println("Yay! I like you."); 
    } else { 
     System.err.println("Return me to my owner, or I'll self destruct!"); 
    } 
    } 

} 

ありがとうございます。 OS Xの場合は

+0

ようこそスタックオーバーフロー。 [良い質問をするにはどうすればいいですか?](http://stackoverflow.com/help/how-to-ask)を読んで、それに応じて質問を更新してください。特に、問題のどの部分に問題があるのか​​、自分で問題を解決するためにどのような研究や試みを行ったのかを明確にしてください。 – Adrian

+1

@ RobotKarel314、私はあなたと同意見ではなく、私の声明が一般的だと思うところを見ることができます。しかし、私はOPがファイルとディレクトリをリストした後であるとも考えていません。コンピューターに接続されているすべてのドライブとそのタイプを見つける方法を追っていると思います。これがOPに明確に伝えたいものです。 – Adrian

答えて

0

は、USBSがある上/ボリューム/ USB_NAMEので、私は何だろう、私はこのコード

package PACKAGE_NAME; 
private boolean myUSBDrive; 
public static void main(String[] args) { 
    ClassLoader loader = CLASS_NAME.class.getClassLoader() 
    if (loader.getResource("PACKAGE_NAME/CLASS_NAME").substring(0,9).equals("/Volumes/")) { 
    isMyUSBDrive = true; 
    } 
    else { 
     isMyUSBDrive = false; 
    } 

で開始したいです編集:エイドリアンは、その中で良い点を作り、 CDや他のUSBドライブがVolumesにあり、特定のUSBドライブ上にある場合は投稿が真実であるため、必要な部分文字列を "/ Volumes/USB_NAME /"に変更してください。

+0

私は間違っていると私を訂正してください、しかし、CDでもボリュームの下に見つかったマウントされたドライブイメージでもないので、これは必ずしも機能しないと思いますか?このコードではフィルタリングするものは何も表示されません。 – Adrian

+1

部分文字列の長さを変更することができます。/ Volumes/USB_NAMEは特定のUSBドライブで必要とし、他の場所ではfalseです。 – MacStation

+0

助けてくれてありがとう。これで十分です。 – Anonymous

関連する問題