File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes I/O and Streams and the fly likes Outputstream the file through http response Big Moose Saloon
  Search | Java FAQ | Recent Topics
Register / Login


JavaRanch » Java Forums » Java » I/O and Streams
Reply Bookmark "Outputstream the file through http response" Watch "Outputstream the file through http response" New topic
Author

Outputstream the file through http response

Anandha Loganathan
Greenhorn

Joined: Jul 11, 2007
Posts: 13
I have the requirement like this
1) I have to create a file which would contain data from DB
2) and outputstream this file to http response.

eg: if the request is "http://localhost/abcd/product.csv "
then the user should save the file from his browser.

I have never worked on IO object and I have little knowledge about FileWriter, OutputStreams. Not sure If I have to use Objectoutstream for this purpose ?.

I could manage Mime type, buffer and other properties.

I would really appreciate if some one could help me on this.





Anandha Loganathan
Greenhorn

Joined: Jul 11, 2007
Posts: 13
I found solution but Do you have an elegant way to do this code.



>
Greg Charles
Bartender

Joined: Oct 01, 2001
Posts: 1620

That looks about right to me. It a good idea to set the content length of the response as well. I've run into trouble with that before, but it was only when sending the response to a non-standard browser. The normal browsers seemed happy enough with the 0 content length.

If you expect the file to be large, you could read it a chunk at a time and write each chunk immediately to the output stream. That avoids having the whole file resident in a byte array. Actually, unless you need the file for other reasons, you could just let the CSVWriter() write it directly to the servlet output stream (well, through a OutputStreamWriter anyway). In that case, you probably won't know the size though, so you have to hope a 0 content length won't freak out your client.

This message was edited 1 time. Last update was at by Greg Charles

Anandha Loganathan
Greenhorn

Joined: Jul 11, 2007
Posts: 13
I couldn't get you. How do we use OutputStreamWriter?.

If you could provide me the example code then I would appreciate that.

Thanks
Ananda
Greg Charles
Bartender

Joined: Oct 01, 2001
Posts: 1620

Oh, I just meant you needed an OutputStreamWriter to fit your interface. Something like this:

>
Anandha Loganathan
Greenhorn

Joined: Jul 11, 2007
Posts: 13
Wrote the code in a better way.

>
Anandha Loganathan
Greenhorn

Joined: Jul 11, 2007
Posts: 13
Greg thanks for your help.

Greg Charles
Bartender

Joined: Oct 01, 2001
Posts: 1620

You're welcome. IIRC, you don't want to close the servlet output stream though. Your close() call will chain all the way through. If it doesn't cause you any problems though, I guess it's OK.
 
 
subject: Outputstream the file through http response
 
MyEclipse, The Clear Choice

cast iron skillet 49er

more from paul wheaton's glorious empire of web junk: cast iron skillet diatomaceous earth rocket mass heater sepp holzer raised garden beds raising chickens lawn care CFL flea control missoula heat permaculture