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);在硬盘上的文件中写入输入流。