2012-04-03 21 views
0

我試圖加載特定文件(C://myfile.txt)通過點擊menue項目在文件菜單欄,我需要幫助來完成代碼的動作部分的JMenuItem加載文件

JMenuBar menuBar = new JMenuBar(); 
JMenu fileMenu = new JMenu("File"); 
JMenuItem openMenuItem = new JMenuItem("Open", 
      KeyEvent.VK_O); 
openMenuItem .addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent e) { 
      //Load the file 
     } 
    }); 

在此先感謝

+1

嗯......你需要什麼幫助?我假設你已經閱讀了文件I/O教程,並且提出了這個問題 - 你卡在哪裏?你究竟是什麼意思?*「加載」*文件? – 2012-04-03 01:07:46

+1

我的錢,我會用一個掃描儀讀取文本文件,你可以找到教程[這裏](http://docs.oracle.com/javase/tutorial/essential/io/scanning.html) 。但是,如果你想要更具體的幫助,你將不得不提出一個更具體的問題。 – 2012-04-03 01:15:19

+0

感謝您的回答,我實際上需要通過單擊Open menue項打開一個文件say(myfile.txt)。我不想有一個彈出窗口來選擇文件然後打開它,我只需要點擊打開的文件時打開文件。謝謝 – Lucy 2012-04-03 01:18:32

回答

2

我可以告訴你的是很一般的建議,它們包括:

  • 創建你的文件的路徑和文件名的文件對象(假設你已經知道這一點 - 你還沒有告訴我們)。
  • 使用File對象創建一個新的Scanner對象。
  • 按照我使用while循環鏈接上面的教程逐行掃描掃描儀(示例如下)
  • 然後關閉掃描儀對象。
  • 如果文件超過一個非常短的文件,您將需要在後臺線程中讀取它,例如可以由SwingWorker對象提供。

使用掃描儀的例子:

// try and catch blocks will be needed to handle exceptions. 
File myFile = new File(myFilePathAndName); 
Scanner scanner = new Scanner(myFile); 
while (scanner.hasNextLine) { 
    String line = scanner.nextLine(); 
    // do with line as you see fit 
} 
scanner.close(); 

同樣,如果你想更具體的幫助,請提供您更多的問題,你的問題的細節。再次請閱讀教程和API,因爲它們非常有用。