我有3個屬性文件,如web1.properties
,web2.properties
,web3.properties
。我想用單個屬性對象一次加載所有的屬性文件。如何使用java加載和讀取多個屬性文件
Properties prop = new Properties();
prop.load("web1.properties");
prop.load("web2.properties");
prop.load("web3.properties");`
我試着加載多個屬性文件的下面的代碼。
public class ReadFileExtension {
static Properties prop = new Properties();
public static void main(String[] args) throws IOException {
String projectFolder = System.getProperty("user.dir");
File f1 = new File(projectFolder);
File[] listOfFiles = f1.listFiles();
System.out.println("Length:"+listOfFiles.length);
for(int i=0;i<listOfFiles.length;i++){
if (listOfFiles[i].isDirectory()) {
//System.out.println("File " + listOfFiles[i].getAbsolutePath());
String prop1 = listOfFiles[i].getAbsolutePath();
if(prop1.contains("properties")){
System.out.println(prop1);
File folder = new File(prop1);
File[] listOfFiles1 = folder.listFiles();
for (int j = 0; j < listOfFiles1.length; j++) {
if (listOfFiles1[j].isFile()) {
//System.out.println("Feature File: " + listOfFiles1[j].getAbsolutePath());
//prop.load(new FileInputStream(listOfFiles1[j].getAbsolutePath()));
prop.load(Thread.currentThread().getContextClassLoader().getResourceAsStream(listOfFiles1[j].getAbsolutePath()));
}
}
}
}
}
System.out.println("Prop 1: "+prop.getProperty("ApplicationURL"));
System.out.println("Prop 2: "+prop.getProperty("Application"));
}
}
您可以使用[this]之類的東西(http://stackoverflow.com/questions/5093432/multiple-properties-files)。 – Abhishek
如果你執行你發佈的代碼,你會得到什麼? –
@Abhishek NullPointerException在該鏈接中運行代碼時。 – tsivarajan