Yes 0 byte files are causing the disk to run out of space

@Andre Warnier
I'm not actually saving files on the server. I just tried to simplify my
problem and tried that simple code. Now i'll give a try to apache fileupload
api, thanks for advice

On Fri, Jul 2, 2010 at 11:52 AM, Pid <p...@pidster.com> wrote:

> 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();
> >             }
> >         }
> >
> >
> >
>
>
>


-- 
Murat BIRBEN

Reply via email to