Мне нужно добавить инкрементный номер к существующему ранее файлу, я знаю, как это проверить и как добавить номер в конце, но мне нужна идея, как добавлять номер каждый раз, когда
посмотрите это например чтобы понять меня, существует C: \ MyFiles \ File.pdf, поэтому попробуйте C: \ MyFiles \ File1.pdf , а в следующий раз C: \ MyFiles \ File2.pdf
не знаю, как получить последнее приращение
и, пожалуйста, посмотрите мой код, я могу увеличить только один раз
int indexOfDot = fName.indexOf(".");
//if theres a dot, start one character before it, otherwise,
//start at the end of the string
int startIndex = indexOfDot > -1 ? indexOfDot - 1 : fName.length() - 1;
if(indexOfDot > -1)
fileNameSuffix = fName.substring(indexOfDot, fName.length());
//search backward on the name to see if it already
//has a number and count the digits
StringBuffer digits = new StringBuffer();
char character = 0;
for (int i = startIndex; i >= 0; i--)
{
character = fName.charAt(i);
if (Character.isDigit(character))
{
digits.append(character);
}
}
if (digits.length() > 0)
{
//There where already digits in the filename.
//Create a number from the digits and add 1
Integer newNumber =new Integer(Integer.parseInt(digits.toString()) + 1);
//Then append that to the actual filename
String actualFileName = fName.substring(0, startIndex + 1 - digits.length());
rtnNewFileName = actualFileName + newNumber.toString() + fileNameSuffix;
}else
{
//There where no digits in the filename
//Append 1 to the actual filename
String actualFileName = fName.substring(0, startIndex - digits.length());
rtnNewFileName = actualFileName + "1" + fileNameSuffix;
}
file.setFileName(rtnNewFileName);
out.println("<li>File Uploaded <br/>Form field : uploadfile"+"<BR> Uploaded file : "+file.getFileName()+" ("+file.getFileSize()+" bytes)"+"<BR> Content Type : "+file.getContentType());
//Uses the bean now to store specified by jsp:setProperty at the top.
upBean.store(mrequest, "uploadfile");