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