Java 将系统属性设置为文件路径

Java 将系统属性设置为文件路径,java,filenotfoundexception,Java,Filenotfoundexception,我正在尝试将System.setProperty设置为文件路径: //properties key String propFile = "propertiesFile"; String pathToFile = "properties/prop.properties"; File file = new file(pathToFile); //properties value String path = file.getAbsolutePath(); System.setProperty(prop

我正在尝试将
System.setProperty
设置为文件路径:

//properties key
String propFile = "propertiesFile";
String pathToFile = "properties/prop.properties";
File file = new file(pathToFile);
//properties value
String path = file.getAbsolutePath();
System.setProperty(propFile, path);
//using properties.....
我得到了
FileNotFoundException
。 打印文件时,我得到了
绝对路径
-
c:\Project…\prop.properties
设置
System.setProperty
是否应以另一种方式进行?
src中的
properties
-package

您的问题与方法
系统无关。setProperty
由于您的路径是作为任何其他
字符串
管理的,您的问题不仅仅是
新文件(pathToFile)
引用一个不存在的文件,因为您提供了一个相对路径,而绝对路径是从用户目录创建的(值为
System.getProperty(“user.dir”)
),这可能不是您所期望的。如果调用
new File(pathToFile).exists()
它将返回
false
首先检查生成的路径。

您的问题与方法
System.setProperty
无关,因为您的路径是作为任何其他
字符串管理的,您的问题不仅仅是
新文件(pathToFile)
引用一个不存在的文件,因为您提供了一个相对路径,而绝对路径是从用户目录创建的(值为
System.getProperty(“user.dir”)
),这可能不是您所期望的。如果调用
newfile(pathToFile).exists()
它将返回
false
首先检查生成的路径。

“properties/prop.properties”不是在文件构造函数方法中使用的正确路径……好的,正确的方法是什么?应该使用getClass().getResourceAsStream(“”);要访问jar中包中的文件。。。然后你可以把它写在硬盘上的一个文件里,把它的路径设置成系统属性库,但我只需要文件路径。。。不是InputStream,InputStream上没有getPath方法…使用Files.copy(InputStream,targetfile.getPath(),CopyOptions);在硬盘上的文件中写入输入流。“properties/prop.properties”不是在文件构造函数方法中使用的正确路径……好的,正确的方法是什么?应该使用getClass().getResourceAsStream(“”);要访问jar中包中的文件。。。然后你可以把它写在硬盘上的一个文件里,把它的路径设置成系统属性库,但我只需要文件路径。。。不是InputStream,InputStream上没有getPath方法…使用Files.copy(InputStream,targetfile.getPath(),CopyOptions);在硬盘上的文件中写入输入流。