重命名上传jsp中是否存在文件

时间:2013-08-05 03:41:46

标签: java jsp

我正在学习本教程 http://www.tutorialspoint.com/jsp/jsp_file_uploading.htm

我的问题是: 如何在上传时重命名文件名? 如果名称已存在,如何重命名文件?

1 个答案:

答案 0 :(得分:1)

// Write the file部分

下方的后端JSP文件中
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扩展名结尾。