Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 运行文件的字符串命令中的当前目录_Java_Eclipse_String_Processbuilder - Fatal编程技术网

Java 运行文件的字符串命令中的当前目录

Java 运行文件的字符串命令中的当前目录,java,eclipse,string,processbuilder,Java,Eclipse,String,Processbuilder,我已经问了一个类似的问题,但我对代码做了一点修改。我正在制作一个从usb打开其他应用程序的应用程序,比如hirens引导cd菜单工具箱。我现在的问题是,每次我用java文件和工具将usb插入另一台计算机时,目录都会改变。例如,如果我的脚本是 String command=“E:/IPRESET.bat” 当我将usb连接到另一台pc时,它可能会从E变为J,或者其他什么 我想知道是否有一种方法可以用一个代码来替换E、J、K或任何东西,以设置当前的java文件目录,从而使它在每台计算机上都发生变化。

我已经问了一个类似的问题,但我对代码做了一点修改。我正在制作一个从usb打开其他应用程序的应用程序,比如hirens引导cd菜单工具箱。我现在的问题是,每次我用java文件和工具将usb插入另一台计算机时,目录都会改变。例如,如果我的脚本是

String command=“E:/IPRESET.bat”

当我将usb连接到另一台pc时,它可能会从E变为J,或者其他什么


我想知道是否有一种方法可以用一个代码来替换E、J、K或任何东西,以设置当前的java文件目录,从而使它在每台计算机上都发生变化。谢谢大家!

如果我理解你的问题,那么我会的。可以通过以下方式访问当前文件夹中的文件:

String command = "IPRESET.bat";
File f = new File(command);
if (f.exists()) {
    try {
        System.out.println(f.getCanonicalPath());
    } catch (IOException e) {
        e.printStackTrace();
    }
}
注意:在尝试使用它之前,最好先确认一下

此外,您还可以使用列出可用的文件系统根目录,并对它们进行迭代,以检查脚本是否与

File[] roots = File.listRoots();
for (File r : roots) {
  File f = new File(r, "IPRESET.bat");
  if (f.exists()) {
    // ...
  }
}