/ / Jak mogę użyć zmiennej do zdefiniowania pliku dla InputStream / .getResourceAsStream (variableForTextFiles) w Javie? - java, getresource

Jak mogę użyć zmiennej do zdefiniowania pliku dla InputStream / .getResourceAsStream (variableForTextFiles) w Javie? - java, getresource

W tej chwili mam plik tekstowy do odczytu na stałe jako KlebsiellaMicro.txt. Potrzebuję zmiennej fileName, aby dynamicznie pobrać inną nazwę pliku txt na podstawie wyboru szablonu w innym pliku Java.

Pod plikiem Micro.java:

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

zmienna fileName jest pod następującym kodem w innym pliku o nazwie 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;
}
...

Jak mogę to przekazać? fileName zmienna, aby dynamicznie przełączać nazwy plików w getResourceAsStream?

Odpowiedzi:

0 dla odpowiedzi № 1

Jednym ze sposobów osiągnięcia tego jest zmianaFunkcja getFullMicroArray () w Micro.java do pobierania zmiennej String getFullMicroArray (String fName). Następnie wywołaj getFullMicroArray (fileName) na końcu instrukcji case w MainWindow.java.

Następnie zmień InputStream in = Data.class.getResourceAsStream("KlebsiellaMicro.txt"); do InputStream in = Data.class.getResourceAsStream(fName);