2011-07-02 21 views
0

私はコードを実行するexeを実行するために、次のコードを使用しました。ファイル名を見つけるために助けが必要

private static String filelocation = ""; 

load_exe.addActionListener(new ActionListener() { 

    @Override 
    public void actionPerformed(ActionEvent e) { 
     try { 
      JFileChooser file_Choose = new JFileChooser(); 

      file_Choose.showOpenDialog(frame); 
      JavaSamp.filelocation = file_Choose.getCurrentDirectory() 
        .toString() 
        + "\\" + file_Choose.getSelectedFile().getName(); 
      System.out.println("FileLocation" + JavaSamp.filelocation); 
     } catch (Exception expobj) { 
      // TODO Auto-generated catch block 
     } 
     Runtime rt = Runtime.getRuntime(); 

     try { 
      System.out.println("File Run Location" + JavaSamp.filelocation); 
      proc = rt.exec(JavaSamp.filelocation); 

     } catch (IOException e4) { 
      e4.printStackTrace(); 
     } catch (Exception e2) { 

     } 
    } 
    }); 

私の問題は、上記のJavaSamp.filelocationの実行は、何度も実行する必要があります。初めて私はexeを読み込みます。次回は、私はしません。私は連続した時間のために実行するために文字列にexeを格納する必要があります。 提案pls

+1

を呼び出すに比べてあなたは '新しいファイル(「DIR」、「名」)を知っています'コンストラクタ? –

+0

また、 'file.getAbsoluteName()'を印刷することもできます。 –

+0

残念ですが、私は混乱しています。何があなたを文字列に格納できないのですか? –

答えて

0

使用したファイルを覚えておきたい場合は、filelocationをヌルで初期化してテストしてください。ところで:Fileがより理にかなっていると絶対パスを構築するあなたの方法は少し複雑であるとして、それを保存する - ちょうどgetAbsolutePath()

private static File filelocation = null; 

private static void test() { 
    load_exe.addActionListener(new ActionListener() { 

     public void actionPerformed(ActionEvent e) { 
      // Check if file-name to execute has already been set 
      if (filelocation != null) { 
       try { 
        JFileChooser file_Choose = new JFileChooser(); 

        file_Choose.showOpenDialog(frame); 
        JavaSamp.filelocation = file_Choose.getSelectedFile(); 
        System.out.println("FileLocation" 
          + JavaSamp.filelocation.getAbsolutePath()); 
       } catch (Exception expobj) { 
       } 
      } 
      Runtime rt = Runtime.getRuntime(); 

      try { 
       System.out.println("File Run Location" 
         + JavaSamp.filelocation.getAbsolutePath()); 
       Process proc = rt.exec(JavaSamp.filelocation 
         .getAbsolutePath()); 

      } catch (IOException e4) { 
       e4.printStackTrace(); 
      } 
     } 
    }; 
} 
関連する問題