有一个小问题,我已经创建了一个属性文件:
config.properties位于../resource/config.properties中
这是当前文件:
destinationPDF=D:/Documents/NetBeansProjects/printing~subversion/fileupload/web/resources/pdf/ destination="D:/Documents/NetBeansProjects/printing~subversion/fileupload/Uploaded/ fileList =D:/Documents/NetBeansProjects/printing~subversion/fileupload/web/resources/Directory Files/directoryFiles.txt
我已完成属性文件的确定吗?
我也想访问此文件并将变量加载到类中
我努力了
public void loadProp() { try { prop.load(new FileInputStream("../resources/config.properties")); System.out.println(prop.getProperty("destinationPDF")); System.out.println(prop.getProperty("destination")); System.out.println(prop.getProperty("fileList")); } catch (IOException ex) { ex.printStackTrace(); } }
但是现在该类将无法编译,因为例如找不到变量的目的地,那么如何从文件中加载变量,我还需要在该类中清除变量吗?
如果这些是愚蠢的问题,对不起,第一次使用属性!
如果我像通常那样放入变量,我不会收到此错误
private String destinationPDF = "D:/Documents/NetBeansProjects/printing~subversion/fileupload/web/resources/pdf/"; //USE ON TORNADO//"D:/My Documents/NetBeansProjects/printing~subversion/fileupload/web/resources/pdf/";//USE ON PREDATOR
编辑:
现在有
private Properties configProp = new Properties(); public void loadProps() { InputStream in = this.getClass().getClassLoader().getResourceAsStream("../resources/config.properties"); try { configProp.load(in); } catch (IOException e) { e.printStackTrace(); } }
编辑2:
public void loadProp() { InputStream in = this.getClass().getClassLoader().getResourceAsStream("../resources/config.properties"); try { prop.load(in); System.out.println(prop.getProperty("destinationPDF")); System.out.println(prop.getProperty("destination")); System.out.println(prop.getProperty("fileList")); } catch (IOException e) { e.printStackTrace(); } } Properties prop = new Properties(); private String destinationPDF = prop.getProperty("destinationPDF"); public String destination = prop.getProperty("destination");
它正在工作,没有错误,但destination和destinationPDF正在传递空值
您似乎误解了什么是属性文件。它们只是数据。它们不包含Java代码,也不用于声明变量。要获取与destinationPDF属性文件中的键关联的值,您需要调用
destinationPDF
String destinationPDF = prop.getProperty("destinationPDF");
在初始化prop变量并使用加载文件后prop.load(new FileInputStream(...))。然后,您将获得一个使用键值初始化的变量。
prop
prop.load(new FileInputStream(...))
注意:请遵守Java命名约定:变量以小写字母开头。