Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / General / May 2007

Tip: Looking for answers? Try searching our database.

How to write Array of Object to a file?

Thread view: 
DL - 07 May 2007 12:54 GMT
Hi

I have an array of objects:

Student[] studentarray;

how do I save studentarray to file?

David.
DL - 07 May 2007 13:00 GMT
Here is a class the does the writing, but i am getting exceptions saying
its not serialized.etc.

import java.io.*;

public class WriteStudentData {

    /** Creates a new instance of WriteStudentData */
    public WriteStudentData() {
    }

    // method will take the student list and save it to student.dat file.
    public void save(Student[] student)
    {
        try {
            ObjectOutputStream objOut = new ObjectOutputStream(new
FileOutputStream("student.dat"));
            objOut.writeObject(student);
            objOut.close();
        }
        catch (Exception e) {
            e.printStackTrace();
        }

    }
}

> Hi
>
[quoted text clipped - 5 lines]
>
> David.
Lew - 07 May 2007 13:34 GMT
Please do not top-post, not even to your own posts.

> Here is a class the does the writing, but i am getting exceptions saying
> its not serialized.etc.

I doubt very much that any error message included the word "etc."  Are you
certain that you copied and pasted the error messages correctly?

> import java.io.*;
>
[quoted text clipped - 19 lines]
>     }
> }

Read the Javadocs on java.io.Serializable.  It will explain why you cannot use
 ObjectOutputStream yet for the Student type.

Incidentally you get better results on newsgroups if you post an SSCCE.
Without the source for the Student class in hand we have to guess (correctly)
why you cannot serialize the class.

BTW, there are other ways to write information to a file than serialization.

Signature

Lew

Robert Larsen - 07 May 2007 13:47 GMT
> BTW, there are other ways to write information to a file than
> serialization.

Absolutely. In fact you should be very carefull when using serialization.
For example if each student has a reference to his class (school class
that is) and the school class object has references to the students that
attend that class you may save the entire class when you want to save
one student. Do that for each student in the class and you have a huge
overhead.
The other ways are often better...XML, SQL database, flat text files,
binary files. There are lots to choose from.
DL - 07 May 2007 13:50 GMT
> Please do not top-post, not even to your own posts.
>
[quoted text clipped - 37 lines]
> BTW, there are other ways to write information to a file than
> serialization.

what is the best way to do this? any suggestions?
Robert Larsen - 07 May 2007 17:34 GMT
> what is the best way to do this? any suggestions?

That depends on a lot of things. An XML file i very easily read by
humans and portable but often not very scalable. A database is very fast
and scalable. A binary file can be easy to work with (or very very hard).
What would be the typical usage ? And how many records would the file hold ?
Lew - 08 May 2007 13:10 GMT
>> what is the best way to do this? any suggestions?
>
> That depends on a lot of things. An XML file i very easily read by
> humans and portable but often not very scalable. A database is very fast
> and scalable. A binary file can be easy to work with (or very very hard).
> What would be the typical usage ? And how many records would the file hold ?

There are gazillion ways to emit data.  The simplest is to open a file for
writing, say in a variable 'wr' -

 import java.io.PrintWriter;
 ...
 PrintWriter wr = new PrintWriter( someFileName );
 ...
 wr.println( foo.getProperty().toString() );

Of course, 'toString()' in most cases will not give you what you want, but
it's a start.

Really you should just read the Javadocs on the java.io package, and the tutorial:
<http://java.sun.com/docs/books/tutorial/essential/io/index.html>

Signature

Lew



Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.