2014-03-13 63 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文件(通過查看內容)。

副本