java - 如果上传jsp上存在文件,则重命名

标签 java jsp

我正在遵循这个教程 http://www.tutorialspoint.com/jsp/jsp_file_uploading.htm

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

最佳答案

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

关于java - 如果上传jsp上存在文件,则重命名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18050253/

相关文章:

java - 文件交给客户后如何删除

java - Android Studio向其他 Activity 发送变量并同时打开 Activity

jsp - 如何在 Struts 2 中使用 ajax 请求映射 Action 类

java - 将java字符串加载到本地存储中

java - 如何使用JQuery正确提交表单?

java - 困惑字符串 - Java 方法

java - TCP服务器和java中两个客户端之间的聊天

java - StyledText 可见行数

javascript - js中如何调用外部jsp

java - 在 JBoss 7 中预编译 JSP