Java-重命名重复文件而不是选定文件

Java-重命名重复文件而不是选定文件,java,html,file,file-io,Java,Html,File,File Io,背景-我有一个脚本tabletosv,它将.html表格文件转换为.csv文件,但是它需要我们通过控制台向它输入一个xyz.html。但是所选文件的扩展名并不总是.html,它们通常有.xls,尽管其中的内容是.html。因此,我希望我的程序制作所选文件的副本,然后制作副本(或临时文件),该副本可以存储在C:\Dtemp\中,最后将其从xyz.xls重命名为xyz.html 当前,它将所选文件重命名为xyz.html 这是我的密码 final JFileChooser fileDialog =

背景-我有一个脚本tabletosv,它将.html表格文件转换为.csv文件,但是它需要我们通过控制台向它输入一个xyz.html。但是所选文件的扩展名并不总是.html,它们通常有.xls,尽管其中的内容是.html。因此,我希望我的程序制作所选文件的副本,然后制作副本(或临时文件),该副本可以存储在C:\Dtemp\中,最后将其从xyz.xls重命名为xyz.html

当前,它将所选文件重命名为xyz.html

这是我的密码

final JFileChooser  fileDialog = new JFileChooser();
    JButton btnInputFile = new JButton("Input File");
    btnInputFile.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
            //other code
            int returnVal = fileDialog.showOpenDialog(rootPane);
            if (returnVal == JFileChooser.APPROVE_OPTION) {
               java.io.File file = fileDialog.getSelectedFile();

               String name = file.getName();
               name = name.substring(0, name.lastIndexOf("."));
               name += ".html";
               File newFile = new File(file.getParentFile(), name);
               if (file.renameTo(newFile)) {
                   try {
                    TableToCSV tableToCSV = new TableToCSV(newFile, ',', '\"', '#', CSV.UTF8Charset );
                    System.out.println("action");
                } catch (IOException e) {
                    e.printStackTrace();
                }

            //other code

当前,代码将输入文件显式重命名为新名称(
file.renameTo(newFile)
)。如果你想复制文件,为什么不把“文件”改为“新文件”。您必须自己复制(在
文件中读取
并写入
新文件

(您可能希望检查输入文件的第一行,以确保它确实是一个html文件(通过查看内容)