2016-04-11 9 views
0

今、私はこれをKlebsiellaMicro.txtとしてハードコードされたテキストファイルにしています。私が必要とするのは、変数、fileNameで、別のjavaファイルのテンプレート選択に基づいて異なるtxtfile名を動的にプルするためです。ファイルMicro.javaの下JavaでInputStream/.getResourceAsStream(variableForTextFiles)のファイルを定義するために変数を使用するにはどうすればよいですか?

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

変数fileNameMainWindow.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; 
    } 
    ... 

どのように動的にファイルを切り替えることによって、このfileName変数を渡すことができますgetResourceAsStreamの名前は?

答えて

0

これを達成する1つの方法は、Micro.javaのgetFullMicroArray()関数を変更して、String変数getFullMicroArray(String fName)を取り込むことです。その後、MainWindow.javaのcaseステートメントの最後にあるgetFullMicroArray(fileName)を呼び出します。

、それが働いたInputStream in = Data.class.getResourceAsStream("KlebsiellaMicro.txt");

+0

InputStream in = Data.class.getResourceAsStream(fName);に変更、ありがとうございました! –

関連する問題