我正在学习本教程 http://www.tutorialspoint.com/jsp/jsp_file_uploading.htm
我的问题是: 如何在上传时重命名文件名? 如果名称已存在,如何重命名文件?
答案 0 :(得分:1)
在// Write the file
部分
if( fileName.lastIndexOf("\\") >= 0 ){
file = new File( filePath +
fileName.substring( fileName.lastIndexOf("\\"))) ;
}else{
file = new File( filePath +
fileName.substring(fileName.lastIndexOf("\\")+1)) ;
}
// rename if file exists
int i = 1;
while (file.exists()) { // keep renaming as file_(2) , file_(3) etc.
String path = file.getAbsolutePath();
int iDot = path.lastIndexOf(".");
file = new File(path.substring(0, iDot) +
"_(" + ++i + ")" + path.substring(iDot));
}
fi.write( file ) ;
请注意,我假设文件总是以.ext
扩展名结尾。