Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.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 linux样式中定义的路径是最终变量。Can';不要在windows上打开路径_Java - Fatal编程技术网

Java linux样式中定义的路径是最终变量。Can';不要在windows上打开路径

Java linux样式中定义的路径是最终变量。Can';不要在windows上打开路径,java,Java,我不知道该找什么。 我有一个外部jar库,其中有一个类,它包含所有配置变量,比如存储日志文件的位置,以及公共静态最终变量。 给定的日志文件配置路径为“/home/log.cfg”。 现在我在windows中工作。我该怎么走这条路呢?将cfg文件放在何处?如果在驱动器的根目录中创建目录home,文件仍然可以以读取方式打开。只需确保应用程序的工作目录位于同一驱动器上。如果未指定任何路径,Java文件处理API似乎会将目录字母添加到绝对路径中 javadoc for 在Microsoft Window

我不知道该找什么。 我有一个外部jar库,其中有一个类,它包含所有配置变量,比如存储日志文件的位置,以及公共静态最终变量。 给定的日志文件配置路径为“/home/log.cfg”。
现在我在windows中工作。我该怎么走这条路呢?将cfg文件放在何处?

如果在驱动器的根目录中创建目录
home
,文件仍然可以以读取方式打开。只需确保应用程序的工作目录位于同一驱动器上。如果未指定任何路径,Java文件处理API似乎会将目录字母添加到绝对路径中

javadoc for

在Microsoft Windows系统上,通过将相对路径名与以路径名命名的驱动器的当前目录(如果有)进行解析,相对路径名将变为绝对路径名;如果不是,则根据当前用户目录解析

一个简单的测试表明:

C:\
下创建一个名为
home
的目录,并在其中放置一些文本文件

@Test
public void openFile() throws FileNotFoundException, IOException {
    File file = new File("/home/log.cfg");
    System.out.println(file.getAbsolutePath());
    FileInputStream fileInputStream = new FileInputStream("/home/log.cfg");
    int c;
    while(-1 != (c = fileInputStream.read())) {
        System.out.print((char) c);
    }
    fileInputStream.close();
}
以下是输出:

C:\home\log.cfg
Hello, log.fg!

啊,很高兴知道根驱动器是冗余的。非常感谢:):)我知道创建一个“主”目录,但不知道它是针对当前用户目录解决的。我在D驱动器中运行程序,我在C驱动器中创建了文件夹,结果它找不到它。