ring0
01-01-09, 20:33
καλησπερα και καλη χρονια,
στο παρακατω δημιουργω ενα .dbs file , το αρχειο εχει μεταβλητου μηκους records..
kai κανω serialization kai deserialization ...(εδω κολαω)....το προγραμμα εκτελειται χωρις compilation errors but στην εξοδο μου βγαζει ενα καρο μ***..ασχετα με αυτα που δινω...
επισης παρατηρω οτι παντα catch exception(στο μοναδικο try-catch ) τη στιγμη που τα δεδομενα που εισαγω ειναι σωστα...
δεν μπορω να βρω τι φταιει....:hmm:
οποια βοηθεια δεκτη....thanks....:oneup:
o code
import java.io.*;
class Console
{
String console_string()
throws IOException
{
//i am using a buffer
BufferedReader buffer=new BufferedReader(new InputStreamReader(System.in));
String str=null;
str=buffer.readLine();
return str;
}
//reading double value
double console_double()
throws IOException
{
return (Double.parseDouble(console_string()));
}
//reading an int value
int console_int()
throws IOException
{
return ((int)(console_double()));
}
}
//serialization:store objects in a file...
class Medicin implements Serializable
{
String name;
int stock;
int safe;
double cost;
// constructor
public Medicin (String n,int st,int sa,double c)
{
name=n;
stock=st;
safe=sa;
cost=c;
}
}
class database{
public static void main (String x[])
throws IOException
{
PrintStream out=System.out;
boolean criterion=true;
String name0;
int stock0,safe0;
double cost0;
Medicin object;
//input file
Console in=new Console();
out.print("full name of dbfile==>");
String f=in.console_string();
FileOutputStream datafile=new FileOutputStream(f);
ObjectOutputStream file=new ObjectOutputStream(datafile);
//input some records
while(criterion)
{
object=null;
out.print("name(stop for end)==>");
name0=in.console_string();
if(name0.equals("stop"))
criterion=false;
else
{
out.print("stock==>");
stock0=in.console_int();
out.print("safe==>");
safe0=in.console_int();
out.print("cost==>" );
cost0=in.console_double();
object=new Medicin(name0,stock0,safe0,cost0);
file.writeObject(object);
}
}
file.close();
//read data from the dbfile
FileInputStream readdata=new FileInputStream(f);
ObjectInputStream infile=new ObjectInputStream(readdata);
Medicin inobject;
out.println("you gave the following data");
do
{
inobject=null;
try
{
inobject=(Medicin)infile.readObject();
}
catch (Exception e){
out.println("the data you gave were wrong");
}
if (inobject==null) break;
out.println(inobject);
}
while(true);
infile.close();
}
}
στο παρακατω δημιουργω ενα .dbs file , το αρχειο εχει μεταβλητου μηκους records..
kai κανω serialization kai deserialization ...(εδω κολαω)....το προγραμμα εκτελειται χωρις compilation errors but στην εξοδο μου βγαζει ενα καρο μ***..ασχετα με αυτα που δινω...
επισης παρατηρω οτι παντα catch exception(στο μοναδικο try-catch ) τη στιγμη που τα δεδομενα που εισαγω ειναι σωστα...
δεν μπορω να βρω τι φταιει....:hmm:
οποια βοηθεια δεκτη....thanks....:oneup:
o code
import java.io.*;
class Console
{
String console_string()
throws IOException
{
//i am using a buffer
BufferedReader buffer=new BufferedReader(new InputStreamReader(System.in));
String str=null;
str=buffer.readLine();
return str;
}
//reading double value
double console_double()
throws IOException
{
return (Double.parseDouble(console_string()));
}
//reading an int value
int console_int()
throws IOException
{
return ((int)(console_double()));
}
}
//serialization:store objects in a file...
class Medicin implements Serializable
{
String name;
int stock;
int safe;
double cost;
// constructor
public Medicin (String n,int st,int sa,double c)
{
name=n;
stock=st;
safe=sa;
cost=c;
}
}
class database{
public static void main (String x[])
throws IOException
{
PrintStream out=System.out;
boolean criterion=true;
String name0;
int stock0,safe0;
double cost0;
Medicin object;
//input file
Console in=new Console();
out.print("full name of dbfile==>");
String f=in.console_string();
FileOutputStream datafile=new FileOutputStream(f);
ObjectOutputStream file=new ObjectOutputStream(datafile);
//input some records
while(criterion)
{
object=null;
out.print("name(stop for end)==>");
name0=in.console_string();
if(name0.equals("stop"))
criterion=false;
else
{
out.print("stock==>");
stock0=in.console_int();
out.print("safe==>");
safe0=in.console_int();
out.print("cost==>" );
cost0=in.console_double();
object=new Medicin(name0,stock0,safe0,cost0);
file.writeObject(object);
}
}
file.close();
//read data from the dbfile
FileInputStream readdata=new FileInputStream(f);
ObjectInputStream infile=new ObjectInputStream(readdata);
Medicin inobject;
out.println("you gave the following data");
do
{
inobject=null;
try
{
inobject=(Medicin)infile.readObject();
}
catch (Exception e){
out.println("the data you gave were wrong");
}
if (inobject==null) break;
out.println(inobject);
}
while(true);
infile.close();
}
}