2016-11-16 30 views
-2

我試圖做一個布爾值,如果它是在一個特定的USB驅動器上,則爲true;如果它在任何其他驅動器上,可移動的或其他的,則爲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!"); 
    } 
    } 

} 

在此先感謝。

+0

歡迎來到Stack Overflow。請閱讀[我如何提出一個好問題?](http://stackoverflow.com/help/how-to-ask)並相應地更新您的問題。特別是,請澄清您遇到困難的部分問題以及您自己解決問題所做的研究和嘗試。 – Adrian

+1

@ RobotKarel314,我不反對你,可以看到你認爲我的發言是通用的。但我也不認爲OP是在列出文件和目錄後。我想他們是在找到所有連接到計算機的驅動器以及它們是什麼類型之後,這是我想要OP澄清的。 – Adrian

回答

0

在OS X的情況下,個USB上/卷/ 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驅動器都處於卷中,如果您的帖子位於一個特定的USB驅動器上,則您的帖子需要爲true,因此請將您需要的子字符串長度更改爲「/ Volumes/USB_NAME /」。

+0

我不認爲這一定會起作用,因爲如果我錯了,請糾正我,但是不要在卷下找到CD和安裝的驅動器映像?我沒有看到這些代碼中的任何內容。 – Adrian

+1

您可以將子字符串長度更改爲「/ Volumes/USB_NAME」,因爲他希望在一個特定的USB驅動器上使用該字符串,並在其他任何地方使用該字符串。 – MacStation

+0

感謝您的幫助。這當然就夠了。 – Anonymous

相關問題