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