首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何处理问号或星号('?‘或'*')在JFileChooser保存对话框中?

在JFileChooser保存对话框中处理问号或星号('?‘或'*')的方法是通过设置文件名过滤器来限制用户输入的文件名。文件名过滤器可以用来过滤掉不合法的字符,包括问号和星号。

以下是处理问号或星号的步骤:

  1. 创建一个文件名过滤器类,继承自javax.swing.filechooser.FileFilter。
  2. 在文件名过滤器类中重写accept方法,该方法用于判断文件是否符合过滤条件。在accept方法中,可以使用正则表达式或其他方式来判断文件名中是否包含问号或星号。
  3. 在文件名过滤器类中重写getDescription方法,该方法用于返回过滤器的描述信息。
  4. 在保存对话框中使用文件名过滤器,通过调用JFileChooser的setFileFilter方法来设置文件名过滤器。

下面是一个示例代码:

代码语言:txt
复制
import javax.swing.*;
import javax.swing.filechooser.FileFilter;
import java.io.File;

public class CustomFileFilter extends FileFilter {
    @Override
    public boolean accept(File file) {
        if (file.isDirectory()) {
            return true;
        }
        String fileName = file.getName();
        return !fileName.contains("?") && !fileName.contains("*");
    }

    @Override
    public String getDescription() {
        return "Custom File Filter";
    }
}

public class Main {
    public static void main(String[] args) {
        JFileChooser fileChooser = new JFileChooser();
        fileChooser.setFileFilter(new CustomFileFilter());

        int result = fileChooser.showSaveDialog(null);
        if (result == JFileChooser.APPROVE_OPTION) {
            File selectedFile = fileChooser.getSelectedFile();
            System.out.println("Selected file: " + selectedFile.getAbsolutePath());
        }
    }
}

在上面的示例中,我们创建了一个CustomFileFilter类,它继承自FileFilter,并重写了accept方法和getDescription方法。accept方法中判断文件名是否包含问号或星号,如果不包含则返回true,表示接受该文件。getDescription方法返回过滤器的描述信息。

然后,在保存对话框中使用setFileFilter方法设置文件名过滤器为CustomFileFilter。

这样,当用户在保存对话框中输入文件名时,如果文件名包含问号或星号,保存对话框将不会接受该文件名,用户需要重新输入符合条件的文件名。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何在路由守卫处理错误异常情况?

路由守卫处理错误异常情况是很重要的,能在出现问题时采取适当的措施,例如重定向到错误页面显示错误消息。...下面是处理错误异常情况的一些常见方法: 1:异常处理路由守卫执行的异步操作可能会引发错误异常。用try/catch块来捕获这些错误,并根据需要采取适当的措施。...方法可能会抛出错误用try/catch块捕获错误,将error状态设置为true,渲染时根据需要进行处理。...3:错误消息显示:路由守卫设置状态上下文,在其他组件显示错误消息。可以了解发生了什么问题。...通过适当处理错误异常情况,能提高应用程序的稳定性和用户体验。根据您的具体需求~~~~

16730
  • Oracle如何移动重命名数据文件?

    ='ONLINE' ; select * from v$tablespace; 需要注意的是,对于SYSTEM、SYSAUX和UNDO表空间的数据文件的移动重命名,强烈建议关闭数据库进行操作,否则可能会引起意外的错误...RMAN,COPY命令是拷贝数据文件,相当于OS的cp命令,而SWITCH则相当于ALTER DATABASE RENAME用来更新控制文件。...数据库12c R1版本对数据文件的迁移重命名不再需要太多繁琐的步骤。...12c R1,可以使用ALTER DATABASE MOVE DATAFILE这样的SQL语句对数据文件进行在线重命名和移动。...,移动数据文件必须进入到相关的容器才可以,否则会报错“ORA-01516: nonexistent log file, data file, or temporary file "12" in the

    1.7K20

    如何使用EvilTree文件搜索正则关键字匹配的内容

    但EvilTree还增加了文件搜索用户提供的关键字正则表达式的额外功能,而且还支持突出高亮显示包含匹配项的关键字/内容。  ...工具特性  1、当在嵌套目录结构的文件搜索敏感信息时,能够可视化哪些文件包含用户提供的关键字/正则表达式模式以及这些文件文件夹层次结构的位置,这是EvilTree的一个非常显著的优势; 2、“tree...”命令本身就是分析目录结构的一个神奇工具,而提供一个单独的替代命令用于后渗透测试是非常方便的,因为它并不是每一个Linux发行版都会预安装的,而且Windows操作系统上功能还会有部分受限制。  ...使用下列命令将该项目源码克隆至本地: git clone https://github.com/t3l3machus/eviltree.git(向右滑动、查看更多)  工具使用样例  样例一-执行一次正则表达式搜索,/...var/www寻找匹配“password = something”的字符串: 样例二-使用逗号分隔的关键字搜索敏感信息: 样例三-使用“-i”参数只显示匹配的关键字/正则式内容(减少输出内容长度)

    4K10

    如何解决DLL的入口函数创建结束线程时卡死

    可在工程文件做如下处理: ?...其中 DllProc 是SysInit的全局变量,可简单理解为保存DLL Entry Point入口函数的地址(实际上RTL内部还有InitLib 和StartLib函数,由编译器自动处理)。...以上都是题外话,本文主要说明DLL入口函数里面创建和退出线程为什么卡死和如何解决的问题。...所以解决办法就是 DLL_PROCESS_ATTACH 事件,仅创建并唤醒线程即可(此时即使是唤醒了,线程也是处理等待状态),线程函数会在DLL_PROCESS_ATTACH事件结束后才正式执行(...解决办法同样是避免 DLL_PROCESS_DETACH事件结束线程,那么我们可以该事件,创建并唤醒另外一个线程,该新的线程里,结束需要结束的线程,并在完成后结束自身即可。

    3.7K10

    TypeScript 如何导入一个默认导出的变量、函数类?

    TypeScript 如何导入一个默认导出的变量、函数类?... TypeScript ,如果要导入一个默认导出的变量、函数类,可以使用 import 关键字结合 default 关键字来引用默认导出的成员。... TypeScript 如何在一个文件同时导出多个变量函数? TypeScript ,使用 export 关键字来同时导出多个变量函数。有几种常见的方式可以实现这一点。...方式一:逐个导出 一个文件逐个使用 export 关键字导出每个变量函数。...variable1; // 或者 export default function() { // ... } // 或者 export default class MyClass { // ... } 一个文件同时导出多个变量函数

    86530

    python,如果异常并未被处理捕捉_抛出异常是什么意思

    文章目录 异常信息 捕获异常 多重异常处理 抛出异常 内置异常类型 自定义异常类型 异常信息 ---- Python使用异常类来管理异常信息。...当发生异常的时候,程序会抛出一个异常信息,自动根据代码的层次查找异常处理信息。当代码发生异常而没有指定处理异常的方法是,Traceback会打印发生异常时代码执行栈的情况。...抛出异常 ---- 除了代码错误自动抛出异常外,Python可以使用raise语句来主动抛出异常。...AssertionError | | + AttributeError # 访问对象不存在的属性 | | + EnvironmentError | | | + IOError # 写不存在的文件其他...Python系列博客持续更新 原创不易,请勿转载(本不富裕的访问量雪上加霜 ) 博主首页:https://wzlodq.blog.csdn.net/ 微信公众号:吾仄lo咚锵 如果文章对你有帮助

    1.6K40

    【DB笔试面试829】Oracle如何迁移清理审计表SYS.AUD$?

    ♣ 题目部分 【DB笔试面试829】Oracle如何迁移清理审计表SYS.AUD$?...♣ 答案部分 日常的数据库维护,经常出现SYSTEM表空间被撑满,绝大多数情况下是因为数据库登录审计的功能被启动了,此时一般建议把SYS.AUD$相关对象迁移到其它表空间,从而避免SYSTEM被用完的风险...Oracle 11g之前迁移方法如下所示: ALTER TABLE SYS.AUDIT$ MOVE TABLESPACE USERS; ALTER TABLE SYS.AUDIT_ACTIONS MOVE...11g之前通过手工清理的方式自定义作业来定期清理SYS.AUD$表,如下: TRUNCATE TABLE SYS.AUD$; DELETE FROM SYS.AUD$ WHERE OBJ$NAME=...若审计OS和XML选项下进行手动删除审计文件。Oracle 11g通过DBMS_AUDIT_MGMT包下的子过程进行手动定期清理。

    2K30

    译文 | 使用过采样欠采样处理类别不均衡数据后,如何正确做交叉验证?

    手头的问题 因为分类器对数据类别占比较大的数据比较敏感,而对占比较小的数据则没那么敏感,所以我们需要在交叉验证之前对不均衡数据进行预处理。...所以如果我们不处理类别不均衡的数据,分类器的输出结果就会存在偏差,也就是预测过程中大多数情况下都会给出偏向于某个类别的结果,这个类别是训练的时候占比较大的那个类别。...在这篇文章我会重复的展示数据集中的一部分特点,并且展示我们在过采样的情况下该如何进行合适的交叉验证。希望我在这个问题上所提出的一些矫正方案能够未来让我们避免再犯这样的错误。...如预期的那样,分类器的偏差太大,召回率为零非常接近零,而真假率为1非常接近于1,即所有几乎所有记录被检测为会正常分娩,因此基本没有识别出早产的记录。下面的实验则使用了欠采样的方法。...总结 在这篇文章,我使用了不平衡的 EHG 数据来预测是否早产,目的是讲解使用过采样的情况下该如何恰当的进行交叉验证。关键是过采样必须是交叉验证的一部分,而不是交叉验证之前来做过采样。

    2.5K60

    Java-GUI编程之Swing组件

    目录 为组件设置边框 使用JToolBar创建工具条 JColorChooser和JFileChooser JColorChooser JFileChooser JOptionPane 基本概述 四种对话框演示...: 创建一个适用于该容器的组件(例如,工具栏创建一个工具按钮); 从 Action 对象获得对应的属性来设置该组件(例如,通过 name 来设置文本,通过 lcon 来设置图标) ; 把Action...​ JFileChooser 的功能与AWT的 FileDialog 基本相似,也是用于生成"打开文件"、"保存文件 "对话框。...showOpenDialog(Component parent):打开文件加载对话框,并指定父组件 showSaveDialog(Component parent):打开文件保存对话框,并指定父组件...showlnputDialog: 返回用户输入选择的字符串 。 showConfirmDialog: 返回 一个整数代表用户选择的选项 。

    2.2K20

    【Eclipse】eclipse让Button选择的文件显示文本框里

    在给定的代码片段,使用了Float.parseFloat(text)方法将文本转换为浮点数。然后,使用逻辑运算符进行条件判断,如果转换后的浮点数大于0小于0,则执行相应的操作。...问题:Eclipse如何实现让Button选择的文件显示文本框里?回答:Eclipse,可以使用Java Swing库来实现让Button选择的文件显示文本框里的功能。...首先,需要创建一个JButton对象和一个JTextField对象,并将它们添加到一个JFrameJPanel。...然后,可以使用JFileChooser类来创建一个文件选择对话框,并将其与按钮关联起来。当用户点击按钮时,可以通过JFileChooser选择文件,并将文件路径显示文本框。...if (result == JFileChooser.APPROVE_OPTION) { String filePath = fileChooser.getSelectedFile

    14410

    上下文变量值(context values)陷阱及 Go 如何避免缓和这些陷阱

    相反,这些替代方案仍然很粗糙,像“自定义 structs” “闭包(closures)”的方案并没有深入研究他们复杂的应用如何实现,对中间件的可重用性可能如何影响。...在这篇文章我们会讨论为什么使用上下文变量值会有问题、一些没有使用上下文变量值的替代方案和其适用场景,以及最终我们会讨论如何正确使用上下文变量值以避免减轻其潜在不足。...因此如果上下文变量允许我们做像让一个用户我们的处理可用这种如此酷的操作时它怎么又让人难以接受了呢?...这意味着 context.WithValue() context.Value() 任何以自定义类型作为作为键的变量调用不要在定义它的包外分享它。...一些可能会导致代码复制,另一些会将类型检查延迟到运行时处理,一些限制了你不同的多处理简单插入中间件的能力。最终,你需要自己决定最适合于自己的方案。

    1.6K30

    Excel常用聚合函数averag(平均)

    当对单元格的数值求平均值时,应牢记空白单元格与含零值单元格的区别,尤其“选项”对话框的“视图” 选项卡上已经清除了“零值”复选框的条件下,空白单元格不计算在内,但计算零值。...若要查看“选项”对话框,单击“工具”菜单的“选项”。  averagee 计算参数列表数值的平均值(算数平均值)。 不仅数字,而且文本和逻辑值(如 TRUE 和 FALSE)也将计算在内。 ...说明 ■ 忽略区域中包含 TRUE FALSE 的单元格。 ■ 如果 average_range 的单元格为空单元格,AVERAGEIF 将忽略它。...■ 您可以条件中使用通配符,即问号 (?) 和星号 (*)。 问号匹配任意单个字符;星号匹配任意一串字符。  如果要查找实际的问号星号,请在字符前键入波形符 (~)。...■ 您可以条件中使用通配符,即问号 (?) 和星号 (*)。 问号匹配任意单个字符;星号匹配任意一串字符。  如果要查找实际的问号星号,请在字符前键入波形符 (~)。

    10010

    职场Excel:查找替换,你真的会用吗?

    “教育要求”这一列 “选项”点开之后的界面,选择“格式” “格式”中选择黄色为填充色 点击“确定”后可以看到符合条件的“本科”单元格都显示为高亮了 2)接下来处理“工作年限要求”这一列 与上面的操作步骤相同...当我们使用通配符星号*参与查找动作时,星号*代表任意多个字符;但是我只想让星号*代表星号本身这个字符呢?不为他赋予通配符的意义,让他失去特异功能,做一名普通的字符而存在。...也就是说,如果单元格内容本身含有*时,你只想搜索*有关的单元格时,*号前面加~即可。 如上,被查找出来的单元格“*科技”,星号*前面加了波浪符~,此时星号*已不是通配符的身份存在了。 3)问号?...代表2个字符,以此类推,实际灵活运用。 既然强调了中间使用通配符?,那么单元格开头和结尾使用是不是会不一样呢?...少一些絮叨,多一些行动,来看一波操作 无论单元格内容“人”前是几个字符的,都被找了出来。 对的,你没有看错,这时,你是不是又想到了这和星号*的作用是一样的呢? 所以又得出一个结论:使用问号?

    28310

    查找替换,你真的会用吗?

    “教育要求”这一列 “选项”点开之后的界面,选择“格式” “格式”中选择黄色为填充色 点击“确定”后可以看到符合条件的“本科”单元格都显示为高亮了 2)接下来处理“工作年限要求”这一列...当我们使用通配符星号*参与查找动作时,星号*代表任意多个字符;但是我只想让星号*代表星号本身这个字符呢?不为他赋予通配符的意义,让他失去特异功能,做一名普通的字符而存在。...3)问号? ?在当做通配符来查找时,必须是英文状态下输入的问号 为了效果更直观,我们用一波操作代替文字来演示一下 通过以上操作,得出结论:使用?代表的字符中间时,1个?代表1个字符,2个?...代表2个字符,以此类推,实际灵活运用。 既然强调了中间使用通配符?,那么单元格开头和结尾使用是不是会不一样呢?...少一些絮叨,多一些行动,来看一波操作 无论单元格内容“人”前是几个字符的,都被找了出来。 对的,你没有看错,这时,你是不是又想到了这和星号*的作用是一样的呢? 所以又得出一个结论:使用问号?

    1.2K10
    领券