/ / Wie kann ich eine Variable verwenden, um eine Datei für InputStream / .getResourceAsStream (variableForTextFiles) in Java zu definieren? - java, getresource

Wie kann ich eine Variable verwenden, um eine Datei für InputStream / .getResourceAsStream (variableForTextFiles) in Java zu definieren? - Java, getresource

Im Moment habe ich eine Textdatei, die ich als KlebsiellaMicro.txt lesen kann. Was ich brauche, ist eine Variable, fileName, um dynamisch einen anderen txt-dateinamen basierend auf der vorlagenauswahl in einer anderen java-datei einzugeben.

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 befindet sich 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 das bestehen? fileName Variable bis zum dynamischen Umschalten der Dateinamen im getResourceAsStream?

Antworten:

0 für die Antwort № 1

Eine Möglichkeit, dies zu erreichen, besteht darin, das zu änderngetFullMicroArray () - Funktion in Micro.java zur Aufnahme einer String-Variablen getFullMicroArray (String fName). Rufen Sie dann getFullMicroArray (fileName) am Ende der case-Anweisung in MainWindow.java auf.

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