JAVA开发 选择本地的文件,控制台输出选择的文件名

打开文件选择器对话框,控制台输出选择的文件

    • 1、展示效果
    • 2、实现代码
    • 3、JFileChooser类

1、展示效果

在这里插入图片描述

2、实现代码

import javax.swing.*;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;public class GenerateCompress {public static String FILEPATH = "D:\\JAVAFILE\\attachments\\rars\\";//打开文件资源选择框,选择要压缩的文件//setMulties  设置是否允许多选public static void SelectFiles(boolean setMulties){JFileChooser fileChooser = new JFileChooser("D:");  //设置初始目录fileChooser.setMultiSelectionEnabled(setMulties);  //允许选择多个文件//fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);  //设置允许选择的文件格式//FileNameExtensionFilter filter = new FileNameExtensionFilter("JPG & GIF Images", "jpg", "gif"); //设置允许选择的文件格式//fileChooser.setFileFilter(filter);//fileChooser.setDialogTitle("打开...文件选择框");   //设置文件选择框的标题//fileChooser.setApproveButtonText("打开test");    //设置按钮名称int returnValue = fileChooser.showOpenDialog(null);if(returnValue == JFileChooser.APPROVE_OPTION){File[] selectedFiles = fileChooser.getSelectedFiles();System.out.println("选择的文件有:");for(File file :selectedFiles){System.out.println(file.getAbsolutePath());}}}//生成文件名public static String GenerateFileName(String filePath,String suffix){String filename;Date date = new Date();SimpleDateFormat dsf = new SimpleDateFormat("yyyyMMddHHss");filename = filePath + dsf.format(date) + " " +suffix;return filename;}public static void main(String[] args){System.out.println("请选择要进行压缩的文件?(可选择多个文件)");SelectFiles(true);}}

自定义文件选择器对话框的标题和确认按钮名称
在这里插入图片描述

3、JFileChooser类

JFileChooser是Java Swing库中的一个类,它提供了一个图形用户界面(GUI)组件,用于让用户选择文件或目录,由于JFileChooser是纯Java实现的,因此它在所有平台上都具有相同的行为和外观风格,在实际使用中,应注意处理可能出现的异常和错误,如文件不存在、没有写入权限等。
特性与功能

  1. 易于使用:JFileChooser提供了一个用户友好的界面来浏览文件系统。
  2. 灵活性:支持自定义文件视图、过滤器和扩展的访问控制。
  3. 模式选择:允许用户选择文件或目录,并且可以设定为打开模式或保存模式。
  4. 文件过滤:可以通过文件扩展名或自定义过滤器过滤出可选择的文件类型。
  5. 多选支持:通过设置setMultiSelectionEnabled(true),允许用户同时选择多个文件。
  6. 定制:除了基本功能外,JFileChooser还提供了许多高级选项,如定制文件的显示图标等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/29302.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

强大的api管理系统Storm Core API_V1.1免授权源码

强大的api管理系统Storm Core API_V1.1免授权源码,带用户key和ip白名单功能 可设置付费操作等 更新日志 此次更新功能比较多 1.完善个人中心页面 2.完善注册登录页面 3.完善key功能 4.增加ip白名单功能 5.以及一些其他小小的美化 6.模板dxx的图片可单个自定…

AWS——01篇(AWS入门 以及 AWS之EC2实例及简单实用)AWS

AWS——01篇(AWS入门 以及 AWS之EC2实例及简单实用) 1. 前言 2. 创建AWS账户 3. EC2 3.1 启动 EC2 新实例 3.1.1 入口 3.1.2 设置名称 选择服务 3.1.3 创建密钥对 3.1.4 网络设置——安全组 3.1.4.1 初始设置 3.1.4.2 添加安全组规则(开放新…

pandas read_csv跳过有错的行

在使用Pandas的read_csv函数时,如果遇到格式错误或其他导致读取失败的行,Pandas默认会抛出异常。但如果你想让Pandas自动跳过这些错误行,可以使用error_bad_linesFalse参数。这将使Pandas在遇到格式错误的行时,忽略这些行而不是中…

【Linux】MySQL下载与安装

1. 下载压缩包 官网下载 2. 解压 上传并解压好放在指定位置 创建soft文件夹 mkdir /soft上传文件,在该目录下再创建一个mysql文件夹,将安装包解压到新文件夹中 mkdir /soft/mysql-8.3.0 tar -xvf mysql-8.3.0-1.el9.x86_64.rpm-bundle.tar -C mysq…

C语言 | Leetcode C语言题解之第162题寻找峰值

题目&#xff1a; 题解&#xff1a; int findPeakElement(int* nums, int numsSize) {int ls_max0;for(int i1;i<numsSize;i){if(nums[ls_max]>nums[i]);else{ls_maxi;}}return ls_max; }

2024上海初中生古诗文大会倒计时4个月:单选题真题和独家解析

现在距离2024年初中生古诗文大会还有4个多月时间&#xff0c;我们继续来看10道选择题真题和详细解析&#xff0c;以下题目截取自我独家制作的在线真题集&#xff0c;都是来自于历届真题&#xff0c;去重、合并后&#xff0c;每道题都有参考答案和解析。 为帮助孩子自测和练习&…

演示:WPF开发的Diagram自动化流程图应用

一、目的&#xff1a;演示Diaram应用功能 二、预览 三、功能列表 功能模块 通用测试 流程图 仪器仪表 机器人 网络通信测试 PLC测试 轮毂生产线流程测试 图像处理 目标检测 绘图 思维导图 图表 流程图功能 模板管理 工程管理 模块许可管理 工具栏 开始 停止 删除 清除 …

RabbitMQ实践——对不可路由的消息的处理方法

大纲 无备用&#xff08;Alternate&#xff09;交换器构建交换器、队列和绑定关系测试代码抛弃不可路由消息返还不可路由消息 有备用&#xff08;Alternate&#xff09;交换器创建带备用&#xff08;Alternate&#xff09;交换器的交换器mandatory非mandatory 总结 在实际工作中…

【DevOps】Elasticsearch 数据跨集群同步方案

目录 1、Elasticsearch Cross-Cluster Replication (CCR) 1.1、优点 1.2、缺点 1.3、步骤 1.4、示例 2. Logstash 或其他 ETL 工具 2.1、优点 2.2、缺点 2.3、步骤 3. Apache Kafka 或 RabbitMQ 3.1、优点 3.2、缺点 3.3、步骤 4、使用 Reindex API 进行跨集群同…

【LeetCode最详尽解答】42-接雨水 Trapping-Rain-Water

欢迎收藏Star我的Machine Learning Blog:https://github.com/purepisces/Wenqing-Machine_Learning_Blog。如果收藏star, 有问题可以随时与我交流, 谢谢大家&#xff01; 链接: 42-接雨水 直觉 通过可视化图形来解决这个问题会更容易理解和解决。 给定输入: height [0,1,…

qml:applicationwindow和window的区别

在 Qt Quick 中&#xff0c;ApplicationWindow 和 Window 是用于创建应用程序窗口的两个重要元素。它们之间的区别在于功能和用法上略有不同&#xff1a; ApplicationWindow&#xff1a; ApplicationWindow 是 QtQuick.Controls 模块中的一个元素&#xff0c;用于创建应用程序的…

C语言从头学21——函数

函数是一段可以重复执行的代码。这个定义比较抽象&#xff0c;实际上就是我们常说的子程序。函数的来源有两大块&#xff0c;一是C语言为我们提供的大量函数&#xff0c;如 printf()&#xff0c;它们被声明在各种头文件、库文件中&#xff0c;使用前我们使用 #include 命令把相…

速盾:cdn服务和云服务的区别?

CDN&#xff08;Content Delivery Network&#xff09;服务和云服务在互联网技术中都起到了重要的作用&#xff0c;但是它们的功能和应用场景有所不同。CDN服务主要用于加速静态资源的分发和传输&#xff0c;而云服务则提供了更全面的计算和存储服务。 CDN服务是一种通过将数据…

mediasoup源码分析--channel创建及信令交互

mediasoup源码分析--channel创建及信令交互 概述跨职能图业务流程图代码剖析 概述 在golang实现mediasoup的tcp服务及channel通道一文中&#xff0c;已经介绍过信令服务中tcp和channel的创建&#xff0c;本文主要讲解c中mediasoup的channel创建&#xff0c;以及信令服务和medi…

基于CentOS的全新Linux机器安装Jenkins并生成Allure报告

目录 一、安装Docker 二、安装Docker Compose 三、准备测试用例 四、配置docker-compose.yml 五、启动Jenkins 六、配置Jenkins和Allure插件 七、创建含pytest的Jenkins任务 一、安装Docker 在CentOS上&#xff0c;首先更新包管理工具并安装所需的包。 sudo yum update…

12.3 Go 测试覆盖率

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

基于Elementui组件,在vue中实现多种省市区前端静态JSON数据展示并支持与后端交互功能,提供后端名称label和id

基于Elementui组件&#xff0c;在vue中实现多种省市区前端静态数据&#xff08;本地JSON数据&#xff09;展示并支持与后端交互功能&#xff0c;提供后端名称label和id 话不多说&#xff0c;先上图 1.支持传递给后端选中省市区的id和名称&#xff0c;示例非常完整&#xff0c…

阿里云 邮件系统DNS域名解析 搭配 postfix+dovecot 邮件服务器

1 创建邮箱域名A记录(一般邮箱客户端&#xff0c;增加pop,imap,stmp 3条记录) 登录阿里云控制台--云解析DNS 2 MX记录 3 SPF记录

SQLAlchemy 连接池

官网SQLAlchemy 是一个流行的 Python SQL 工具包和对象关系映射(ORM)系统,它允许开发者使用 Python 类和对象来与数据库进行交互。在 SQLAlchemy 中,连接池用于管理和复用数据库连接,以提高性能和减少资源消耗。 SQLAlchemy 默认使用 QueuePool 作为连接池实现,但你可以…

【论文复现|智能算法改进】基于多策略的改进蜜獾算法及其应用

目录 1.算法原理2.改进点3.结果展示4.参考文献5.代码获取 1.算法原理 【智能算法】蜜獾算法&#xff08;HBA&#xff09;原理及实现 2.改进点 限制反向学习机制 在挖掘模式和蜂蜜模式不同路径更新的基础上引入限制反向学习机制&#xff0c;在算法迭代时&#xff0c;对当前的…