喜欢在标题中如何过滤到.txt文件?
我写了这样的东西,但它有错误:(
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
JFileChooser chooser = new JFileChooser();
int retval = chooser.showOpenDialog(null);
String yourpath = "E:\\Programy Java\\Projekt_SR1\\src\\project_sr1";
File directory = new File(yourpath);
String[] myFiles;
FilenameFilter filter = new FilenameFilter() {
public boolean accept(File directory, String fileName) {
return fileName.endsWith(".txt");
}
};
myFiles = directory.list(filter);
if(retval == JFileChooser.APPROVE_OPTION)
{
File myFile = chooser.getSelectedFile();
}
Run Code Online (Sandbox Code Playgroud)
Fra*_*nky 47
尝试这样的事......
String yourPath = "insert here your path..";
File directory = new File(yourPath);
String[] myFiles = directory.list(new FilenameFilter() {
public boolean accept(File directory, String fileName) {
return fileName.endsWith(".txt");
}
});
Run Code Online (Sandbox Code Playgroud)
Har*_*Joy 25
在这里你会发现一些有用的例子.这也是JFileChooser中使用的FileFilter的一个很好的例子.
基础是,您需要覆盖FileFilter类并在其accpet方法中编写自定义代码.上例中的accept方法是根据文件类型进行过滤:
public boolean accept(File file) {
if (file.isDirectory()) {
return true;
} else {
String path = file.getAbsolutePath().toLowerCase();
for (int i = 0, n = extensions.length; i < n; i++) {
String extension = extensions[i];
if ((path.endsWith(extension) && (path.charAt(path.length()
- extension.length() - 1)) == '.')) {
return true;
}
}
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
或者更简单的使用FileNameFilter,它具有filename作为参数的accept方法,因此您不需要手动获取它.
从JDK8开始,就像单词一样简单
final String extension = ".java";
final File currentDir = new File(YOUR_DIRECTORY_PATH);
File[] files = currentDir.listFiles((File pathname) -> pathname.getName().endsWith(extension));
Run Code Online (Sandbox Code Playgroud)
从Java7开始,您可以简单地使用 FileNameExtensionFilter(String description, String... extensions)
一个简单的JFileChooser模拟示例将是:
JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileFilter(new FileNameExtensionFilter("Text files", "txt"));
Run Code Online (Sandbox Code Playgroud)
我知道很久以前就回答了这个问题,但这实际上是最简单的解决方案.
| 归档时间: |
|
| 查看次数: |
146501 次 |
| 最近记录: |