On 02/07/2010 09:43, Murat Birben wrote: > 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?
Thousands of 0 byte files are causing the disk to run out of space? p > 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(); > } > } > > >
signature.asc
Description: OpenPGP digital signature