Java实现批量给文件或文件夹改名窗口程序

Java实现批量给文件或文件夹改名窗口程序

Java对文件夹或文件夹进行批量改名

说明

程序演示

操作前

对文件进行改名

对文件夹改名

代码区

说明

本人也是初学Java不久的小白,可能会有很多地方不规范,本程序仅供参考,功能已经实现。

程序演示

操作前

java中文件改名 java给文件改名_java

对文件进行改名

java中文件改名 java给文件改名_java 文件夹文件改名_02

java中文件改名 java给文件改名_java 文件夹文件改名_03

对文件夹改名

java中文件改名 java给文件改名_java_04

代码区

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
public class cz {
public static void main(String[] args) {
//创建一个窗口
JFrame f = new JFrame("对文件或文件夹进行批量改名");
//不给窗口添加排版方式
f.setLayout(null);
//获得屏幕的分辨率
Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
//设置窗口在屏幕中的显示位置和大小
f.setBounds(screenSize.width/2-220,screenSize.height/2-80,430,170);
//创建一个标签
JLabel jl = new JLabel("路径");
//设置标签相对于窗口程序的显示位置和大小
jl.setBounds(5,10,30,25);
//把标签组件添加到窗口中
f.add(jl);
//创建一个单行文本框
JTextField tf1 = new JTextField();
//给单行文本框设置相对窗口的位置和大小
tf1.setBounds(42,10,300,25);
//把文本框添加到窗口中
f.add(tf1);
//再创建一个标签
JLabel jl2 = new JLabel("名称");
//设置这个标签相对窗口的位置和大小
jl2.setBounds(5,40,30,25);
//把这个标签添加到窗口中
f.add(jl2);
//再创建一个单行文本框
JTextField tf2 = new JTextField();
//设置这个单行文本框相对窗口的显示位置
tf2.setBounds(42,40,300,25);
//把这个文本框添加到窗口中
f.add(tf2);
//创建一个按钮
JButton jb = new JButton("确定");
//设置按钮在窗口中的显示位置
jb.setBounds(350,17,60,40);
//把按钮添加到窗口中
f.add(jb);
//创建一个单选框 true是在运行程序时默认选中这个
JRadioButton jrb1 = new JRadioButton("文件",true);
//在创建一个单选框
JRadioButton jrb2 = new JRadioButton("文件夹");
//为了让这两个单选框实现能单选的效果 创建一个ButtonGroup让两个单选框能实现关联
ButtonGroup bg = new ButtonGroup();
//把两个单选框添加到ButtonGroup中使两个单选框实现相关联
bg.add(jrb1);
bg.add(jrb2);
//设置两个单选框在窗口中的显示位置
jrb1.setBounds(15,70,60,50);
jrb2.setBounds(75,70,70,50);
//把两个单选框添加到窗口中
f.add(jrb1);
f.add(jrb2);
//让编写的这个窗口能实现关闭,要是不加这行就会点关闭没反应的
f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
//显示窗口
f.setVisible(true);
//给按钮添加点击事件
jb.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String text1 = tf1.getText();
String text2 = tf2.getText();
File baseFile = new File(text1);
//判断文本框输入的文件夹路径是否正确
if (baseFile.isFile() || !baseFile.exists()) {
//如果输入的路径不是文件夹则输出并不再执行之后的代码
tf1.setText("不是文件夹");
return;
}else{
//如果路径正确,则弹出信息框,让我们确认一下是否要修改那个路径下的文件或文件夹名字
int res = JOptionPane.showConfirmDialog(null, "是否 [" + tf1.getText() + "] 下的文件名", "是否继续", JOptionPane.YES_NO_OPTION);
//判断信息框我们点的确定还是取消
if(res==JOptionPane.YES_OPTION){
//如果点了确定执行下面代码
int a=0;
//获取我们输入路径下的所有文件和文件夹
File[] files = baseFile.listFiles();
//判断单选框咱选的要修改文件还是文件夹
if (jrb1.isSelected()) {
//如果我们单选框选择了文件,则对获取到的当前路径下的东西进行筛选
//用for循环遍历
for (File file : files) {
if (file.isDirectory()) {
continue;
}
a++;
//获取文件格式,对下面的重命名提供使用
String[] str = file.getPath().split("\\.");
//对文件进行改名
file.renameTo(new File(text1 + "\\" + text2 + a + "." + str[1]));
}
}else{
//如果我们在单选框中选择的文件夹,进行这个else中的代码
//for循环遍历
for (File file : files) {
if (file.isFile()) {
continue;
}
a++;
file.renameTo(new File(text1 + "\\" + text2 + a ));
}
}
//修改完文件或文件夹后,第二个单选框中内容为 “成功”
tf2.setText("成功");
}else {
//这个else是第一个if的,如果路径不对则直接结束
return;
}
}
}
});
}
}

Java实现批量给文件或文件夹改名窗口程序相关教程