myrocks2
myrocks2

Reputation: 305

Storing Data in Java

I'm currently trying to write a simple journal-like program in Java that allows me to add "entries" and be able to browse all the "entries" I have added since the very beginning. The problem is, if I run the program, add two entries, exit the program, and then run the program again, I want to be able to have access to the two entries I previously added. I guess my questions is then, how am I able to "save" (if that's the right word) the entries that I add so that they won't be wiped out every time the program terminates?

I did some looking around, and it appears there's a tool I can use called the Java Cache System, but I'm not entirely sure if that's what I need for my situation. I'd appreciate if somebody could point me in the right direction.

Upvotes: 0

Views: 1981

Answers (4)

Raj
Raj

Reputation: 610

I faced same problem in past but little bit different.I clearly understood your problem , My solution is whatever the journal you are entering and getting saved should be saved in a particular location in your Location such as "C:\Your_Directory\Journal_folder\"

so it will be easier when you initially enter the journal it stores in above location ,again if u exit and reopen the application just try to retrieve the data from the above Mentioned target Location.

therefore every time when ever you enter the application it retrieves the data from that location if not it displays empty

Upvotes: 0

alex2410
alex2410

Reputation: 10994

Now, you store your objects in memory instead of this you can try to serialize them to some format like xml. And then in next run load them from xml. Or you can try to use dataBase for storing objects.

Upvotes: 0

Plux
Plux

Reputation: 412

The simplest way would be to store this data somehow in a file, and then read it from the file when the application starts, a few simple examples on how to write/read from file:

http://www2.cs.uic.edu/~sloan/CLASSES/java/MyFileReader.java

http://www2.cs.uic.edu/~sloan/CLASSES/java/MyFileReader.txt

http://www2.cs.uic.edu/~sloan/CLASSES/java/MyFileWriter.java

http://www2.cs.uic.edu/~sloan/CLASSES/java/MyFileWriter.txt

Upvotes: 1

Kevin Bowersox
Kevin Bowersox

Reputation: 94459

When you run the program and create the entries your storing them in primary storage aka RAM. As you have discovered these entries will not persist across different executions of your program.

You need to store the entries in secondary storage aka the hard drive. This can be done by writing the entries to a file saved on disk and then reading those entries upon startup of the program. Java provides several mechanisms to read and write files to the file system on a machine.

Some applications use a database to store information in a relational manner so that it is available via a SQL request, however I would recommend using a simple file to store your entries.

Upvotes: 1

Related Questions