Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 571301
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T13:29:33+00:00 2026-05-13T13:29:33+00:00

I’m serving a file from the file system dynamically with a jsp Here’s my

  • 0

I’m serving a file from the file system dynamically with a jsp

Here’s my code:

<%@ page import="java.io.*,java.util.*"
    InputStream in = null;
    OutputStream responseOut = null;
    File  file  = new File(request.getAttribute("fileToServe"));
    try{
        in = new FileInputStream(file);
        responseOut = response.getOutputStream();
        // Transfer bytes from in to out
        byte[] buf = new byte[1024];
        int len;
        while ((len = in.read(buf)) > 0) {
            responseOut.write(buf, 0, len);
        }
    }finally{
         if( responseOut != null ) try {
            responseOut.close();
         } catch( IOException ioe ){}

        if( in != null ) try {
            in.close();
         } catch( IOException ioe ){}
    }
    file.delete();
%>

The problem I’m facing is, the file is delete only the first time the code is run, which is after the server restart. Subsequent calls doesn’t delete the file.

I used ProcessExplorer to track this and and yeap, the Java VM is holding that file, I don’t really know why is this happening.

We will run on Windows OS, always, is there a work around for this?

I’ve found a number of resources on the internet about this, but I can’t figure out from them how to solve this problem.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-13T13:29:34+00:00Added an answer on May 13, 2026 at 1:29 pm

    What creates the file? I only see reading then deleting it in that code.

    Things to watch out for:

    • Reading a file requires read permissions from the file but deleting the file requires write permission from the directory; and
    • Make sure you close() any files you create. If you don’t you might lose data or it may take time to flush an implicit close.

    Lastly, using an attribute like fileToServe that comes from the user is really dangerous. I’m hoping you’re sanitizing that elsewhere. You should ensure that only allowed files are served this way.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 335k
  • Answers 335k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer As I've investigated I should set xdebug.remote_autostart=0 See documentation: http://xdebug.org/docs/remote… May 14, 2026 at 3:40 am
  • Editorial Team
    Editorial Team added an answer POP before SMTP isn't one of the authentication types supported… May 14, 2026 at 3:40 am
  • Editorial Team
    Editorial Team added an answer If you have no prior knowledge about your input data,… May 14, 2026 at 3:40 am

Related Questions

I'm trying to decode HTML entries from here NYTimes.com and I cannot figure out
I want use html5's new tag to play a wav file (currently only supported
I ran into a problem. Wrote the following code snippet: teksti = teksti.Trim() teksti
I've got a string that has curly quotes in it. I'd like to replace
In order to apply a triggered animation to all ToolTip s in my app,

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.