Hi all, I have a very simple file upload mechanism in java. I just take the file and save it on the server. I'm testing this simple code with selenium and *when a timeout occurs in the selenium test *tomcat creates 0 byte files under tomcat_home/work/Catalina/localhost/uploadServlet/ directory as MultiPart* files. It creates thousands of files, until there is no disk space left on device. What may cause this problem? How can I solve this? Is there anyone has an idea about this?
My environment is: Ubuntu - 8.04 server, apache tomcat - 5.5.29, sun java 1.6 Thanks, Here is the code snippet that i use File fFile = null; FileOutputStream fileOutputStream = null; FileInputStream fileInputStream = null; try { String strFileName = request.getParameter("FileName"); String strPath = request.getParameter("Path"); //String strMediaType = request.getParameter("MediaType"); //String strDescription = request.getParameter("Description"); fFile = (File) request.getAttribute("Content"); int index = strPath.length() - 1; //If the user forgets to put the last / for the path... We put it for him/her if (strPath.charAt(index) != '/') { strPath += "/"; } if (!new File(strPath).exists()) { new File(strPath).mkdirs(); } File file = new File(strPath + strFileName); fileOutputStream = new FileOutputStream(file); fileInputStream = new FileInputStream(fFile); byte[] bBuf = new byte[1024]; int iBufLen = 0; int iReadLen = 1024; int iTotelLen = 0; /*read 1024 bytes at a time*/ while ((iBufLen = fileInputStream.read(bBuf)) != -1) { fileOutputStream.write(bBuf); fileOutputStream.flush(); iTotelLen += iBufLen; if (fileInputStream.available() < iReadLen) { iReadLen = fileInputStream.available(); break; } } byte[] tempbBuf = new byte[iReadLen]; fileInputStream.read(tempbBuf, 0, iReadLen); fileOutputStream.write(tempbBuf); } catch (IOException ex) { ex.printStackTrace(); } finally { fileOutputStream.close(); fileInputStream.close(); if (fFile.exists()) { fFile.delete(); } } -- Murat BIRBEN