我如何让java程序识别它运行的是哪台计算机?

时间:2013-12-21 16:25:16

标签: java java-io

我正在创建一个程序,用于在我的闪存驱动器和2台计算机之间同步文件,但是根据闪存驱动器插入的计算机,它可以是驱动器G或E. 我如何让我的计算机识别它正在运行的计算机?

2 个答案:

答案 0 :(得分:1)

您可以在java中使用系统属性。例如,您可以使程序使用

识别计算机
     //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 :)。你可以在运行你的code.say java -DFLASH_DRIVE yourprogram 时使用-D选项简单地发送这个属性并使用

获取它

System.getProperty("FLASH_DRIVE");

有很多方法可以做到。

答案 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;
}