2014-03-13 32 views
0

背景 - 我有一个脚本TableToCSV,其转换的.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 

回答

0

目前你的代码明确重命名输入文件为新的名称(file.renameTo(newFile))。四要复制的文件,你为什么不复制“文件”到“NEWFILE”代替。你必须自己做(读file,写newFile

(您可能要检查输入文件第一行,以确保它确实是一个HTML文件(通过查看内容)。

副本