Problema com Upload

Bom dia Galera.

Estou prestes a tacar fogo aqui =/
To com um sistema simples de upload. Onde faço o seguinte recebo um codigo e o arquivo. ( gravo somente o nome do arquivo no banco. )
So que eu gostaria de trocar o nome “fisico desse arquivo”.
Digamos que o nome do arquivo seja imagem.jpg ( como faco para renomear esse arquivo? )
Preciso renomear o nome do arquivo pq se não toda vez que fizer o upload com o mesmo nome ele vai substituir a imagem.

segue o codigo:

[code]String codigo = request.getParameter(“codigo”);
String saveFile = “”;

String contentType = request.getContentType();
if ((contentType != null) && contentType.indexOf(“multipart/form-data”)>=0){
DataInputStream in = new DataInputStream(request.getInputStream());
int formDataLength = request.getContentLength();
byte dataBytes[]= new byte[formDataLength];
int byteRead = 0;
int totalBytesRead = 0;
while ( totalBytesRead < formDataLength){
byteRead = in.read(dataBytes , totalBytesRead, formDataLength);
totalBytesRead += byteRead;
}
String file = new String(dataBytes);
saveFile = file.substring(file.indexOf(“filename=”") + 10);
saveFile = saveFile.substring(0, saveFile.indexOf("\n"));
saveFile = saveFile.substring(saveFile.lastIndexOf("\") + 1,saveFile.indexOf(""") );
int lastIndex = contentType.lastIndexOf("=");
String boundary = contentType.substring(lastIndex + 1, contentType.length());
int pos;
pos = file.indexOf(“filename=”");
pos = file.indexOf("\n" , pos)+ 1;
pos = file.indexOf("\n" , pos)+ 1;
pos = file.indexOf("\n" , pos)+ 1;

int boundaryLocation = file.indexOf(boundary, pos) - 4;
int startPos = ((file.substring(0,pos)).getBytes()).length;
int endPos = ((file.substring(0,boundaryLocation)).getBytes()).length;
String folder = “C:/sistema/web/loja/upload/”;
FileOutputStream fileOut = new FileOutputStream(folder + saveFile.replace(" “, “_”) );
fileOut.write(dataBytes, startPos , (endPos - startPos));
fileOut.flush();
fileOut.close();
saveFile = saveFile.replaceAll(” “,”");
[/code]

Sera que alguém consegue me da uma luz ?

[]s

vc pode fazer uma verificação para ver se existe o arquivo com o mesmo nome antes de gravar

se existir vc faz um algoritmo simples para acrecentar algo no final como um zero segue um exemplo de algoritmo pra vc

	public static String completarZeros(int qtd, String str){
                StringBuilder sb = new StringBuilder (qtd);
                for (int i = str.length(); i < qtd; i++) {
                    sb.append ('0');
                }
                sb.append (str);
                return sb.toString();
	}