2017-02-17 19 views
0
public String readvaluesFromFile(String PassingAnameString) { 
    File myfile = new File("src/main/resources/file.txt"); 
    FileInputStream myFileInput = new FileInputStream(errorFile); 
    Properties properties = new Properties(); 
    properties.load(myFileInput); 
    myFileInput.close(); 
    Enumeration<Object> filenameKeys = properties.keys(); 
    while (filenameKeys.hasMoreElements()) { 
     String fileValues = properties.getProperty(PassingAnameString); 
     return "Reference Name: " + filenameKeys + " : " + fileValues; 
    } 
    return "There was a problem."; 
} 

一個文件中的多個值I具有橫越名稱到 從文本文件返回這些名稱的相應值的函數的字符串的功能。雷丁從與名稱值對

例如,文本文件包含:名稱=值名稱=值名稱=值

函數1將一個字符串「name,name」傳遞給函數2,該函數讀取 該文件。我無法弄清楚如何讓文件讀取多個名稱並返回相應的值。任何輸入?

Function2 above

回答

0

接受可變數量的字符串並返回相同數量的字符串值。 試試這個:

public String[] readvaluesFromFile(String... PassingManyStrings) { 
    File myfile = new File("src/main/resources/file.txt"); 
    FileInputStream myFileInput = new FileInputStream(errorFile); 
    Properties properties = new Properties(); 
    properties.load(myFileInput); 
    myFileInput.close(); 

    String[] toReturn = new String[ PassingManyStrings.length ]; 
    int i=0; 
    for(String oneProp: PassingManyStrings){ 
     toReturn[i++] = properties.getProperty(oneProp); 
     if(toReturn[i++] == null) 
       toReturn[i++] = "There was a problem."; 
     else 
       toReturn[i++] = "Reference Name: " + oneProp + " : " + toReturn[i++]; 
    } 
    return toReturn; 
}