【问题标题】:Dynamic file extension filtration using jfilechooser java使用 jfilechooser java 进行动态文件扩展过滤
【发布时间】:2013-12-08 00:45:30
【问题描述】:

我正在使用FileNameExtensionFilter 函数来过滤jfilechooser 中的文件名 但是扩展的输入参数是字符串类型。 我想从文本文件中读取所有扩展名。 过滤器在构造函数中,我正在以 Netbeans 形式开发一种记事本类型的应用程序。 解决这个问题或提供一些更好的解决方案来解决这个问题,我只想使用jfilechooser 功能来选择和过滤文件

提前致谢

这是代码。

///////////////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();
}

【问题讨论】:

  • 你可能正在寻找这个,stackoverflow.com/questions/2450223/…
  • 我知道简单的实现,只需给出我想从 txt 文件中读取所有值的扩展名。我无法将文件的输出分配给文件名过滤器。
  • 所以您正在寻找传递扩展数组而不是单个扩展?
  • 是的,但我想从文本文件中填充这个数组。

标签: java string io jfilechooser filefilter


【解决方案1】:

根据 JLS,FileNameExtensionFilter 方法采用“字符串...扩展”,所以我建议在你的代码中修改是,

// 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.
    }

【讨论】:

  • 是的,就像我想从文本文件中填充这个字符串一样
  • 来自文本文件的含义是什么?哪个文件?是选择文件吗?
  • 我的意思是说 IO 操作以检索字符串数组中的整个文件,例如..... String[] extensions= readFile.read("extensions.txt"); ......我正在纠正 TEXT 文件的所有扩展名,并希望它们在字符串数组中用于 filenamefilter 函数。
  • Txt 文件格式是.. ... 每行一个扩展名... Txt png ..etc
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-18
  • 1970-01-01
  • 1970-01-01
  • 2022-01-06
  • 1970-01-01
相关资源
最近更新 更多