如何让jfilechooser只接受.txt

我试图将我的联系人保存在我的表中但是filechosser总是设置为所有文件。 有没有办法我可以将它设置为仅接受.txt并使其成为默认选项或唯一选项。

savecontact.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JFileChooser filesave = new JFileChooser(); int returnVal = filesave.showSaveDialog(Main.this); if (returnVal == JFileChooser.APPROVE_OPTION) { try { File file = filesave.getSelectedFile(); PrintWriter os = new PrintWriter(file); os.println(""); for (int col = 0; col < table.getColumnCount(); col++) { os.print(table.getColumnName(col) + "\t"); } os.println(""); os.println(""); for (int row = 0; row < table.getRowCount(); row++) { for (int col = 0; col < table.getColumnCount(); col++) { os.print(table.getColumnName(col)); os.print(": "); os.println(table.getValueAt(row, col)); } os.println(""); } os.close(); System.out.println("Done!"); } catch (IOException e1) { e1.printStackTrace(); } } } }); 

您需要添加一个filter:

 JFileChooser jf = new JFileChooser(); FileNameExtensionFilter filter = new FileNameExtensionFilter("TEXT FILES", "txt", "text"); jf.setFileFilter(filter); 

这里有一些例子

 fileChooser.addChoosableFileFilter(new FileNameExtensionFilter("Images", "jpg", "png", "gif", "bmp")); fileChooser.addChoosableFileFilter(new FileNameExtensionFilter("*.pdf", "pdf")); fileChooser.addChoosableFileFilter(new FileNameExtensionFilter("*.txt", "txt")); 

你可以使用FileFilter来做到这一点。

创建具有必要条件的Filefilter 。 将此文件筛选器设置为JFileChooser ,然后启动它。