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 № 1Jednym 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);