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
