hi
i have class Filedata(Empid , empname)
i write this object in abc.txt file (only once)
when i try to read it in the next line i get the exception
Source Code;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
public class ObjectStreamExample
{
/**
* @param args
*/
public static void main(
String[] args)
{
// TODO Auto-generated method stub
FileData f=new FileData(12,25);
System.out.println("Constructor");
System.out.println("f.EmpId ="+f.getEmpId());
System.out.println("f.InternalId ="+f.getInternalId());
try
{
WriteFileData(f);
FileData fun=(FileData) ReadFileData();
System.out.println("Read From File");
System.out.println("Fun.EmpId ="+fun.getEmpId());
System.out.println("Fun.InternalId ="+fun.getInternalId());
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (ClassNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/* public static < T > void WriteGenericObjects(T u) throws IOException
{
String dataFile="abc.txt";
File file=new File("abc.txt");
System.out.println("1");
ObjectOutputStream out = new ObjectOutputStream(new
BufferedOutputStream(new FileOutputStream(file)));
out.writeObject(u);
System.out.println("2");
}*/
public static void WriteFileData(FileData f) throws IOException
{
String dataFile="abc.txt";
File file=new File(dataFile);
System.out.println("1");
FileOutputStream fos = new FileOutputStream("t.tmp");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(f);
oos.close();
System.out.println("2");
}
/*public static < T > T ReadGenericObjects() throws IOException, ClassNotFoundException
{
String dataFile="abc.txt";
ObjectInputStream out = new ObjectInputStream(new
BufferedInputStream(new FileInputStream(dataFile)));
T u=(T) out.readObject();
out.close();
return u;
}*/
public static FileData ReadFileData() throws IOException, ClassNotFoundException
{
String dataFile="abc.txt";
File file=new File(dataFile);
FileInputStream fis = new FileInputStream(file);
ObjectInputStream in = new ObjectInputStream(fis);
FileData u=(FileData) in.readObject();
return u;
}
}
class FileData implements Serializable
{
private int empId;
private transient int internalId;
public FileData(int empId, int internalId) {
//super();
this.empId = empId;
this.internalId = internalId;
}
/**
* @return the empId
*/
public int getEmpId()
{
return empId;
}
/**
* @param empId the empId to set
*/
public void setEmpId(int empId)
{
this.empId = empId;
}
/**
* @return the internalId
*/
public int getInternalId()
{
return internalId;
}
/**
* @param internalId the internalId to set
*/
public void setInternalId(int internalId)
{
this.internalId = internalId;
}
}
[ April 03, 2008: Message edited by: K Sathya Narayanan ]