社区
Java SE
帖子详情
怎样设置打开文件对话框的过滤器
whlx
2004-04-30 10:37:40
怎样设置打开文件对话框的过滤器,只显示*.txt文件
...全文
186
6
打赏
收藏
怎样设置打开文件对话框的过滤器
怎样设置打开文件对话框的过滤器,只显示*.txt文件
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
raimundo
2004-05-12
打赏
举报
回复
给一个RegExp的
public class RegExpDirFilter implements FilenameFilter {
private static final String BEGIN_EXP = "^";
private static final String END_EXP = "$";
private static final String DOT_EXP = "\\.";
private static final char OR_EXP = '|';
private static ArrayList SPECIAL_CHAR_KEY;
private static ArrayList SPECIAL_CHAR_REGX;
String regExp;
static {
SPECIAL_CHAR_KEY = new ArrayList(3);
SPECIAL_CHAR_REGX = new ArrayList(3);
SPECIAL_CHAR_KEY.add("\\$");
SPECIAL_CHAR_KEY.add("\\.");
SPECIAL_CHAR_KEY.add("\\*");
SPECIAL_CHAR_REGX.add("\\\\$");
SPECIAL_CHAR_REGX.add("\\\\.");
SPECIAL_CHAR_REGX.add("[a-zA-Z0-9_\\$]*");
}
public RegExpDirFilter(String string) {
regExp = encodeRegExp(string);
}
private String encodeRegExp(String string) {
if (string == null) {
return "";
}
int size = SPECIAL_CHAR_KEY.size();
for (int i = 0; i < size; i++) {
string = string.replaceAll(SPECIAL_CHAR_KEY.get(i).toString(),
SPECIAL_CHAR_REGX.get(i).toString());
}
return string;
}
public boolean accept(File dir, String filename){
return filename.matches(regExp);
}
}
因为我们一般使用的DOS通配符不是RegExp,所以需要转成RegExp,然后对Filename match,就可以了
raimundo
2004-05-12
打赏
举报
回复
yes = (filename.startsWith(prefix))&(filename.endsWith(suffix));
这一句错了
而且写得有点问题
whlx
2004-05-03
打赏
举报
回复
怎么没人会啊
an7coding
2004-05-01
打赏
举报
回复
帮盯
whlx
2004-04-30
打赏
举报
回复
我知道啊,但具体怎么实现呢?
你看看我这段代码错在哪里?
import java.io.*;
import java.awt.*;
public class DirFilter implements FilenameFilter
{
private String prefix="",suffix=""; //文件名的前缀、后缀
public DirFilter(String filterstr)
{
filterstr = filterstr.toLowerCase();
int i = filterstr.indexOf('*');
int j = filterstr.indexOf('.');
if (i>0)
prefix = filterstr.substring(0,i);
if (j>0)
suffix = filterstr.substring(j+1);
}
public static void main(String args[])
{
Frame f=new Frame("");
FilenameFilter filter = new DirFilter("*.txt");
FileDialog fdo=new FileDialog(f,"Open",FileDialog.LOAD);
fdo.setFilenameFilter(filter);
File f1=new File("");
File curdir=new File(f1.getAbsolutePath(),"");
String[] str=curdir.list(filter);
fdo.setVisible(true);
FileDialog fds=new FileDialog(f,"Save",FileDialog.SAVE);
fds.setFilenameFilter(filter);
fds.setVisible(true);
}
public boolean accept(File dir, String filename)
{
boolean yes = true;
try
{
filename = filename.toLowerCase();
yes = (filename.startsWith(prefix))&(filename.endsWith(suffix));
}
catch(NullPointerException e)
{
}
return yes;
}
}
pink12345
2004-04-30
打赏
举报
回复
只要重载过滤器的抽象类中的方法
然后修改它,变成你想要的
然后在打开文件对话框里面设置一下过滤器就可以了
VC
打开文件
对话框
同时默认显示多种文件类型
比如如何在
打开文件
对话框
里预览时同时显示bmp和jpg两种图片的
过滤器
设置
代码
Java生成一个文件打开的文件选择
对话框
窗口.rar
Java生成一个文件打开的文件选择
对话框
窗口,和Win系统的浏览文件窗口相似,使用Java代码模拟实现的窗口程序,相关代码如下: button.addActionListener(new ActionListener() { //按钮事件处理 public void actionPerformed(ActionEvent e) { int state; //文件选择器返回状态 chooser.removeChoosableFileFilter(chooser.getAcceptAllFileFilter()); //移去所有文件
过滤器
chooser.addChoosableFileFilter(new MyFileFilter("gif","图像文件")); //增加文件
过滤器
,接爱gif文件 if (comboBox.getSelectedIndex()==0) //组合框为"打开" state=chooser.showOpenDialog(null); //显示
打开文件
对话框
else state=chooser.showSaveDialog(null); //显示保存文件
对话框
File file = chooser.getSelectedFile(); //得到选择的文件
iOS8开发技术(Swift版):SearchBar和
对话框
搜索条和
对话框
(详细内容看目录)
VC.NET文件
对话框
使用演示
文件
对话框
的使用演示,功能有如何
设置
文件保存
对话框
、如何
设置
文件
对话框
的标题、如何
设置
文件
对话框
过滤器
、如何
设置
文件
对话框
多重选择功能、如何
设置
文件
对话框
打开时的目录位置、如何
设置
从文件
对话框
中获取文件扩展名、如何从文件
对话框
中获取文件标题、如何获取文件
对话框
选择的多个文件,相信这些很基础的
对话框
实例,对vc++.NET入门者会有不小的帮助。 运行环境:Visual Studio2010
delphi
对话框
应用
Chm格式,
打开文件
与保存文件
对话框
OpenDialog组件 Delphi为用户提供了一组常用的
对话框
组 件,包括:
打开文件
、保存文件、
设置
字体、
设置
颜色、查找字符串和替换字符串等。在程序运行时,这些组件以
对话框
的形式出现,供用户操作使用。首先介绍OpenDialog组件。 OpenDialog组件即
打开文件
对话框
组件,位于组件板“Dialogs”选项卡的第二个位置。程序运行时,
打开文件
对话框
不会自动打开,必须利用其Execute方法才能打开。 OpenDialog组件的主要属性: l FileName
设置
或保存
打开文件
的名称(包括路径名和扩展
Java SE
62,615
社区成员
307,318
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章