Я делаю программу, которая синхронизирует файлы между моим флеш-накопителем и двумя компьютерами, однако в зависимости от того, на какой компьютер подключен флеш-накопитель, это либо диск G, либо E. . Как я могу заставить компьютер распознавать, какие компьютер сработал?как получить java-программу, чтобы узнать, на каком компьютере работает?
ответ
Я предполагаю, что вы хотите автоматическое обнаружение, а не простой файл конфигурации. Есть много, много способов, вот простой:
Вы можете просто поместить файл с уникальным именем на диске и проверить его существование:
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;
}
Вы можете использовать Свойство системы в Ява. например, вы можете очень хорошо сделать программу, чтобы распознать компьютер с
//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");
Есть много способов, вы можете сделать это.
Почему бы вам просто не сказать свою программу и не запомнить ее, написав ее где-нибудь (например, в файле)? Или предоставить файл свойств, который ваша программа читает при запуске? –