我在重命名Java文件时有疑问...我的应用程序必须重命名传入的文件,即mdb,dbf,xls,xml等。格式。我使用了以下源代码。
例如:
String filename = "D:/sample.mdb";
File filediriden = new File(filename);
String[] filetype = filename.split("\\.");
System.out.println("Filetype :"+filetype[1]);
String newfilename = "D:/new."+filetype[1];
File newfilediriden = new File(newfilename);
System.out.println("New File Name "+newfilename);
boolean rename = filediriden.renameTo(newfilediriden);
if(rename)
System.out.println("File Renamed");
if(filediriden.isFile()){
System.out.println("filename" + filediriden.getName());
}else{
System.out.println("not a filename");
}
OUTPUT:
Filetype : mdb
New File Name D:/new.mdb
File Renamed
not a filename
之后,我检查了它是否是一个文件,但没有进入该文件...请帮助...
最佳答案
boolean rename = filediriden.renameTo(newfilediriden);
if(filediriden.isFile()){
重命名文件后,旧的File对象(filediriden)仍指向旧名称,该名称不再存在。您要检查使用新的File对象(newfilediriden)。
filetype[1]
另外,可能有多个点的文件,因此filetype [filetype.length-1]可能更安全。