Solved

Uploading a file

Posted on 2004-03-21
14
227 Views
Last Modified: 2010-03-31
I need to store a file in database. How can I do this using java?
0
Comment
Question by:subysri
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 7
  • 4
14 Comments
 
LVL 30

Accepted Solution

by:
Mayank S earned 25 total points
ID: 10647429
You can get the contents into a byte array and store it. Have a look at:

http://javaalmanac.com/egs/java.sql/InsertBinary.html

- for storing/ reading binary data to/ from databases.
0
 
LVL 30

Expert Comment

by:Mayank S
ID: 10647537
You can make a FileInputStream and read from the file into a byte[] array.

File f = new File ( "filename" ) ;
FileInputStream fis = new FileInputStream ( f ) ; // or new FileInputStream ( "filename" ) ;
byte[] array = new byte[f.length ()] ;
fis.read ( array ) ;
0
 
LVL 86

Assisted Solution

by:CEHJ
CEHJ earned 25 total points
ID: 10648062
You would be better to treat the insert as a stream, as in addition to not being an efficient way of making an insert, you may get out of memory errors if the file is too big if you try to load it all into memory as above. See

http://java.sun.com/j2se/1.4.2/docs/api/java/sql/PreparedStatement.html#setBinaryStream(int, java.io.InputStream, int)
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 30

Expert Comment

by:Mayank S
ID: 10860205
Please proceed with that recommendation.
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 10860432
>>Accept: mayankeagle {http:#10647429}

Not the correct way to do it IMO
0
 
LVL 30

Expert Comment

by:Mayank S
ID: 10860537
Well, the main problem was to know how to insert the data - not about performance, I guess.
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 10860583
It's not a performance issue - it's about a potentially fatal memory problem. The approach i suggested doesn't suffer from this drawback
0
 
LVL 30

Expert Comment

by:Mayank S
ID: 10860654
Well - memory problems may or may not come. That's about optimizing your approach - the difference between "how to do it" and "how to do it best". I agree that your method is more efficient, but I assumed that this one only asks "how to do it" because it said nothing else ;-) So I didn't go into the details. The questioner should have responded if he faced memory problems, too.... anyways, I would be glad with a split.
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 10860754
>>The questioner should have responded if he faced memory problems,

That error may well occur only rarely, and may well be quite difficult to debug
0
 
LVL 30

Expert Comment

by:Mayank S
ID: 10865970
Yes, and yes ;-)
0
 
LVL 30

Expert Comment

by:Mayank S
ID: 11683347
Please proceed with that recommendation.
0

Featured Post

On Demand Webinar: Networking for the Cloud Era

Did you know SD-WANs can improve network connectivity? Check out this webinar to learn how an SD-WAN simplified, one-click tool can help you migrate and manage data in the cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

By the end of 1980s, object oriented programming using languages like C++, Simula69 and ObjectPascal gained momentum. It looked like programmers finally found the perfect language. C++ successfully combined the object oriented principles of Simula w…
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
Viewers learn how to read error messages and identify possible mistakes that could cause hours of frustration. Coding is as much about debugging your code as it is about writing it. Define Error Message: Line Numbers: Type of Error: Break Down…
This tutorial will introduce the viewer to VisualVM for the Java platform application. This video explains an example program and covers the Overview, Monitor, and Heap Dump tabs.

729 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question