Java实现文件批量重命名

欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入

  * 浏览按钮的事件处理方法

  *

  * @param e

  */

  protected void do_button_actionPerformed(ActionEvent e) {

  JFileChooser chooser = new JFileChooser();// 创建文件选择器

  // 设置只选择文件夹

  chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);

  int option = chooser.showOpenDialog(this);// 显示打开对话框

  if (option == JFileChooser.APPROVE_OPTION) {

  dir = chooser.getSelectedFile();// 获取选择的文件夹

  } else {

  dir = null;

  }

  forderField.setText(dir + “”);// 显示文件夹信息

  }

  /**

  * 开始按钮的事件处理方法

  *

  * @param e

  */

  protected void do_startButton_actionPerformed(ActionEvent e) {

  String templet = templetField.getText();// 获取模板字符串

  if (templet.isEmpty()) {

  JOptionPane.showMessageDialog(this, “请确定重命名模板”, “信息对话框”,

  JOptionPane.WARNING_MESSAGE);

  return;

  }

  // 获取表格数据模型

  DefaultTableModel model = (DefaultTableModel) table.getModel();

  model.setRowCount(0);// 清除表格数据

  int bi = (Integer) startSpinner.getValue();// 获取起始编号

  int index = templet.indexOf(“#”);// 获取第一个“#”的索引

  String code = templet.substring(index);// 获取模板中数字占位字符串

  // 把模板中数字占位字符串替换为指定格式

  templet = templet.replace(code, “%0” + code.length() + “d”);

  String extName = extNameField.getText().toLowerCase();

  if (extName.indexOf(“.”) == -1)

  extName = “.” + extName;

  // 获取文件中文件列表数组

  File[] files = dir.listFiles(new ExtNameFileFilter(extName));

  for (File file : files) {// 变量文件数组

  // 格式化每个文件名称

  String name = String.format(templet, bi++) + extName;

  // 把文件的旧名称与新名称添加到表格的数据模型

  model.addRow(new String[] { file.getName(), name });

  File parentFile = file.getParentFile();// 获取文件所在文件夹对象

  File newFile = new File(parentFile, name);

  file.renameTo(newFile);// 文件重命名

  }

  }

  }

  效果如图:

[1][2][3]

一直觉得人应该去旅行,在年轻的时候,趁着有脾气装潇洒,

Java实现文件批量重命名

相关文章:

你感兴趣的文章:

标签云: