2016-04-11 7 views
0

Im Moment habe ich eine Textdatei, die fest als KlebsiellaMicro.txt codiert ist. Was ich brauche, ist eine Variable, fileName, um einen anderen TXT-Datei-Namen basierend auf der Vorlagenauswahl in einer anderen Java-Datei dynamisch einzuziehen.Wie kann ich eine Variable verwenden, um eine Datei für InputStream/.getResourceAsStream (variableForTextFiles) in Java zu definieren?

Unter der Datei Micro.java:

static void getFullMicroArray() throws IOException 
{ 
    InputStream in = Data.class.getResourceAsStream("KlebsiellaMicro.txt"); 
    BufferedReader reader = new BufferedReader(new InputStreamReader(in)); 
    ... 

Variable fileName ist unter dem folgenden Code in einer anderen Datei mit dem Namen MainWindow.java:

JButton btnLoadMicroTemplate = new JButton("Load Template"); 
btnLoadMicroTemplate.addActionListener(new ActionListener() { 


public void actionPerformed(ActionEvent e) { 
    String fileName = null; 
    String templateSelection = comboTemplateSelect.getSelectedItem().toString(); 
    switch(templateSelection){ 
     //case must match dropdown selections exactly 
     case "MRSA Culture Respiratory": fileName = "MRSARespiratory.txt"; 
     case "Klebsiella Non-Culture Blood": fileName = "KlebsiellaMicro.txt"; 
     default: fileName = "MRSARespiratory.txt"; 
       break; 
    } 
    ... 

Wie kann ich diese fileName Variable übergeben durch dynamisch-Datei wechseln Namen in der getResourceAsStream?

Antwort

0

Eine Möglichkeit, dies zu erreichen, besteht darin, die Funktion getFullMicroArray() in Micro.java zu ändern, um eine String-Variable getFullMicroArray (String fName) aufzunehmen. Rufen Sie dann in MainWindow.java am Ende der case-Anweisung getFullMicroArray (fileName) auf.

Dann InputStream in = Data.class.getResourceAsStream("KlebsiellaMicro.txt"); ändern InputStream in = Data.class.getResourceAsStream(fName);

+0

Es funktionierte, danke! –

Verwandte Themen