重命名文件,同时保留java中的文件扩展名
问题描述:
如何通过保留文件扩展名来重命名文件?重命名文件,同时保留java中的文件扩展名
在我的情况下,我想重新命名文件,同时上传它。我正在使用Apache commons fileupload库。
下面是我的代码片段。
File uploadedFile = new File(path + "/" + fileName);
item.write(uploadedFile);
//renaming uploaded file with unique value.
String id = UUID.randomUUID().toString();
File newName = new File(path + "/" + id);
if(uploadedFile.renameTo(newName)) {
} else {
System.out.println("Error");
}
以上代码也在更改文件扩展名。我该如何保存它? 有没有什么好的方法与Apache公共文件上传库?
答
尽量拆分,并采取只扩展的分裂:
String[] fileNameSplits = fileName.split("\\.");
// extension is assumed to be the last part
int extensionIndex = fileNameSplits.length - 1;
// add extension to id
File newName = new File(path + "/" + id + "." + fileNameSplits[extensionIndex]);
一个例子:
public static void main(String[] args){
String fileName = "filename.extension";
System.out.println("Old: " + fileName);
String id = "thisIsAnID";
String[] fileNameSplits = fileName.split("\\.");
// extension is assumed to be the last part
int extensionIndex = fileNameSplits.length - 1;
// add extension to id
System.out.println("New: " + id + "." + fileNameSplits[extensionIndex]);
}