【问题标题】:how do i get a java program to recognize which computer its running on? [closed]我如何让 java 程序识别它在哪台计算机上运行? [关闭]
【发布时间】:2013-12-21 16:25:15
【问题描述】:

我正在制作一个程序,在我的闪存驱动器和两台计算机之间同步文件,但是根据闪存驱动器插入的计算机,它是驱动器 G 或 E。 如何让我的计算机识别它正在运行的计算机?

【问题讨论】:

  • 您为什么不简单地告诉您的程序,并通过将其写入某处(例如,在文件中)让它记住它?或者提供你的程序在启动时读取的属性文件?

标签: java java-io


【解决方案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:)。您可以在运行代码时使用 -D 选项简单地发送此属性。说 java -DFLASH_DRIVE yourprogram 并使用

System.getProperty("FLASH_DRIVE");

有很多方法可以做到。

【讨论】:

    【解决方案2】:

    我假设您想要自动检测而不是简单的配置文件。方法很多很多,这里有一个简单的:

    您可以在驱动器上放置一个具有唯一名称的文件并检查其是否存在:

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

    【讨论】:

      猜你喜欢
      • 2012-12-23
      • 2014-01-21
      • 1970-01-01
      • 1970-01-01
      • 2015-04-16
      • 2021-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多