java使用JFileChooser允许Swing用户指定输出位置
我必须编写一个Java8Swing应用程序,应用程序的一部分生成一个输出文件(Excel电子表格)。因此,在UI的某个时刻,用户必须:
- 在他们的文件系统上选择一个目录,Excel文件将写入该目录;然后
- 输入Excel文件的名称(如果他们在文件名中指定“.xls”或“.xlsx”,则应用程序将在相应的xls/xlsx输出中输出/写入该文件;如果他们忽略文件扩展名,则默认为xlsx)
我感兴趣的是什么是一个体面的用户体验解决方案,以及它如何映射到Swing控件及其布局
我知道我可以使用JFileChooser
来选择目录或特定文件,但我从未使用它来选择目录,并输入新(文件系统上还不存在)文件名+扩展名的名称
关于我能提供的功能性、优雅性和简单易用的解决方案,有什么想法吗;明白吗
# 1 楼答案
您可以使用Apache的FileNameUtils,也可以通过使用子字符串和indexOf进行字符串操作来实现自己的扩展提取。。。我给你举一个第一个例子
按照建议使用默认JFileChooser后,您只需检查指定的文件名,因为JFileChooser将返回一个文件对象(如果未选择任何内容,则返回null,因此首先检查null值):
如果不希望接受不同的案例,请删除toLowerCase()
这应该满足您的需要;)