第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

嘗試使用FileDialog捕獲異常

嘗試使用FileDialog捕獲異常

慕妹3242003 2021-05-14 14:11:19
我是Java的新手,我在GUI內(nèi)創(chuàng)建了一個小表,我想從中打開一個.txt文件,以便用文件的內(nèi)容填充該表。我試圖從老師的例子中復(fù)制代碼,但到目前為止,我還沒有設(shè)法“捕獲異常”。這是我的代碼:buddyLoadFile.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                FileDialog fd = new FileDialog(HauptFenster.this,                                "Open File", FileDialog.LOAD);                fd.setDirectory(".");                fd.setVisible(true);                try {                    String filename = fd.getDirectory()                            + fd.getFile();                    buddyFileManager = new BuddyFileManager(filename);                    buddyTableModel.setBuddies(buddyFileManager.load());                    buddyTableModel.fireTableDataChanged();                }                catch (IOException ex) {                    JOptionPane.showMessageDialog(                            HauptFenster.this,                            "error loading file", "Error",                            JOptionPane.ERROR_MESSAGE);                }                catch (Exception ex) {                    JOptionPane.showMessageDialog(                            HauptFenster.this,                            "invalid format of file.",                            "Error", JOptionPane.ERROR_MESSAGE);                }            }        });不管我打開哪種文件,程序都會使用打開的文件中的字符串成功填充表格。我有沒有機會得到我正在使用的代碼的異常?這是我的FileManager(以備不時之需):public BuddyFileManager(String filename) {        fileName = filename;    }    public List<Buddies> load() throws IOException {        BufferedReader br = new BufferedReader(new FileReader(fileName));        StreamTokenizer strTokenizer = new StreamTokenizer(br);        strTokenizer.whitespaceChars(',', ',');        List<Buddies> buddyListe = new ArrayList<Buddies>();非常感謝你。
查看完整描述

1 回答

?
MMTTMM

TA貢獻1869條經(jīng)驗 獲得超4個贊

好吧,根據(jù)您的情況,您可以從以下內(nèi)容中獲取IO異常,以及更多。

  • 您正在閱讀的.txt文件不可用。

  • 某些進程關(guān)閉了您使用緩沖讀取器讀取數(shù)據(jù)的輸入流。

  • 如果您嘗試讀取沒有權(quán)限的.txt文件。

等等。此外,如果您嘗試從不受支持的文件格式中讀取內(nèi)容,則將獲得和異常。因此對于

我有沒有機會得到我正在使用的代碼的異常?

為此,答案是肯定的。您正在使用的代碼可能會出現(xiàn)異常。如果在運行時發(fā)生以上情況之一,您將得到一個異常。它們將由捕獲塊處理。

這與問題無關(guān),但您可能需要更改BuddyFileManager構(gòu)造函數(shù)代碼以避免歧義。(在這種情況下,變量文件名存在歧義)

public BuddyFileManager(String filename) {        
     this.fileName = filename;
    }

此關(guān)鍵字通過this.filename在BuddyFileManager類中定義引用文件名屬性來清楚地解決此歧義。


查看完整回答
反對 回復(fù) 2021-05-19
  • 1 回答
  • 0 關(guān)注
  • 141 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號