2013-12-08 66 views
0

我使用FileNameExtensionFilter函數過濾jfilechooser 中的文件名,但擴展的輸入參數是String類型。 我想讀取文本文件中的所有擴展名。 過濾器是在構造函數中,我正在Netbeans窗體中開發一個記事本類應用程序。 解決這個問題或提供一些更好的解決這個問題,我只是想用jfilechooser功能選擇和篩選文件使用jfilechooser動態文件擴展名過濾java

在此先感謝

這裏是代碼。

///////////////FILE FILTER 
String str= ""txt","abc","xyz","wxy"; //all extensions from TXTfile 

public MainFrame(){ 
    initComponents(); 
    fileChooser=new JFileChooser(); 
    FileNameExtensionFilter filter = new FileNameExtensionFilter("TEXTFILES",str,"text"); 
    fileChooser.setFileFilter(filter); 
} 

//////////////////////// FILE READER 
String readFile() throws IOException { 
BufferedReader br = new BufferedReader(new FileReader("ext.txt")); 
try { 
    StringBuilder sb = new StringBuilder(); 
    String line = br.readLine(); 

    while (line != null) { 
     sb.append(line); 
     sb.append("\n"); 
     line = br.readLine(); 
    } 
    return sb.toString(); 
} finally { 
    br.close(); 
} 
+0

你可能會找這個,HTTP://計算器.com/questions/2450223/jfilechooser-multiple-file-filters –

+0

我知道簡單的實現,只需給我擴展名,我想讀取txt文件中的所有值。 我無法將文件輸出分配給filenamefilter。 – user3078848

+0

所以你正在尋找傳遞一個擴展數組而不是單個擴展? –

回答

0

根據JLS,FileNameExtensionFilter方法採用 「字符串...擴展名」,讓你我在你的代碼是建議modficiations,

// all extensions from TXTfile 
String[] extensions= {"txt","abc","xyz","wxy"}; 

JFileChooser fileChooser = new JFileChooser(); 
FileNameExtensionFilter filter = new FileNameExtensionFilter("TEXTFILES",extensions); 
fileChooser.setFileFilter(filter); 

int returnVal = chooser.showOpenDialog(parent); 
if(returnVal == JFileChooser.APPROVE_OPTION) { 
System.out.println("You chose to open this file: " 
+fileChooser.getName(new File("ext.txt")));//or you can use getSelectedFile() that user has choosen. 
    } 
+0

是的 以同樣的方式我想從文本文件 – user3078848

+0

填充這個字符串從文本文件意味着什麼?哪個文件?它選擇了文件嗎? –

+0

我的意思是說IO操作來檢索字符串數組中的整個文件,如..... String [] extensions = readFile.read(「extensions.txt」); ....。 我正在對TEXT文件的所有擴展名進行調整,並希望它們在字符串數組中用於filenamefilter函數中。 – user3078848

相關問題