2013-12-21 1 views
-2

Я делаю программу, которая синхронизирует файлы между моим флеш-накопителем и двумя компьютерами, однако в зависимости от того, на какой компьютер подключен флеш-накопитель, это либо диск G, либо E. . Как я могу заставить компьютер распознавать, какие компьютер сработал?как получить java-программу, чтобы узнать, на каком компьютере работает?

+1

Почему бы вам просто не сказать свою программу и не запомнить ее, написав ее где-нибудь (например, в файле)? Или предоставить файл свойств, который ваша программа читает при запуске? –

ответ

0

Я предполагаю, что вы хотите автоматическое обнаружение, а не простой файл конфигурации. Есть много, много способов, вот простой:

Вы можете просто поместить файл с уникальным именем на диске и проверить его существование:

public String getDrive() { 
    String fileName = "unique name.ext"; 
    String drives = new String[] { "G", "E" }; // Or even all letters 
    for(String drive : drives) { 
    if(new File(drive + ":\\" + fileName).exists()) { 
     return drive; 
    } 
    } 
    return null; 
} 
1

Вы можете использовать Свойство системы в Ява. например, вы можете очень хорошо сделать программу, чтобы распознать компьютер с

 //gives the user name 
    System.getProperty("user.name"); 

    //gives the host name or textual representation of ip address 
    java.net.InetAddress.getLocalHost(); 

После того, как у вас есть информация о системе, вы можете выбрать диск либо G: или E:

Другим выбором является пользовательская переменная среды, представляющая имя накопителя, например FLASH_DRIVE со значением (G: или E :). YOu может просто отправить это свойство, используя опцию -D при запуске вашего code.say Java -DFLASH_DRIVE yourprogram и получить его с помощью

System.getProperty("FLASH_DRIVE");

Есть много способов, вы можете сделать это.