Замена последовательности символов в именах файлов

Подскажите пожалуйста, как сохранить замену символов в имени файла

Код:

/**
 * Создать программу, которая анализирует текущий каталог
 * и все вложенные подкаталоги и заменяет в именах файлов
 * одну последовательность символов на другую.
 */

package LR3;

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class formProg3 {

    formProg3() {
        JFrame jfrm1 = new JFrame("Каталог файлов");
            jfrm1.setSize(400, 400);
            jfrm1.setLayout(null);
            jfrm1.setVisible(true);
            jfrm1.setResizable(false);
            jfrm1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JButton jbtn1 = new JButton("Enter");
            jbtn1.setBounds(150, 330, 80, 25);
            jfrm1.add(jbtn1);

        DefaultListModel<String> list = new DefaultListModel< >();
            JList<String> b = new JList< >(list);
            b.setBounds(0,0,400,300);
            b.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
            jfrm1.add(b);

        JScrollPane jsp1 = new JScrollPane();
            jsp1.setBounds(0, 0, 400, 300 );
            jsp1.setViewportView(b);
            jfrm1.add(jsp1);

        JLabel jl = new JLabel();
            jl.setBounds(10,300,250,20);
            jl.setText("Нажмите \"Enter\" на клавиатуре");
            jfrm1.add(jl);

        //Кнопка по умолчанию
        JRootPane rootPane = SwingUtilities.getRootPane(jbtn1);
            rootPane.setDefaultButton(jbtn1);

            //Вывод списка файлов в лист
        jbtn1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                ArrayList<File> fileList = new ArrayList<>();
                getFiles(new File("/home/atlas/Документы/Test"), fileList);
                for(File file: fileList) {
                    list.addElement(file.getName().replace("l","d"));
             
                }
            }
        });
    }
//Поиск файлов
    static void getFiles(File rootFile, List<File> fileList) {
        if (rootFile.isDirectory()) {
            File[] directoryFiles = rootFile.listFiles();
            if (directoryFiles != null) {
                for (File file: directoryFiles) {
                    if (file.isDirectory()) {
                        getFiles(file, fileList);
                    } else {
                        if (file.getName().toLowerCase().endsWith(".txt")) {
                            fileList.add(file);
                        }
                    }
                }
            }
        }
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(
                new Runnable() {
                    @Override
                    public void run() {
                        new formProg3();
                        new DefaultListModel();
                        new JScrollPane();
                        new JRootPane();
                    }
                }
        );
    }
}

Ответы (1 шт):

Автор решения: user420047

Если я правильно понял, чего вы хотите, то возможно это поможет:

for (File file: fileList) {
    String s = file.getName().replace("l","d");
    list.addElement(s);
    file.renameTo(file.getParent() + File.separator + s);
}
→ Ссылка