站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题java对象序列化的问题

java对象序列化的问题

摘要: java对象序列化的问题


1 做一个含有复杂数据的程序,设计好数据,并放入一个类中,这个类实例化为一个对象。把这个对象用序列化读写盘。
2 不用序列化,直接使用Java 的文件类去存取这些数据,也给一个实现
3 作好1与2 的对比。
这是我老师让我做的毕业设计的要求中的前三个。他给了一段代码如下
我的背景:没有学习过java,只是看了一下一些语法。前段时间由于找工作去了,没把毕业设计的事放在心上,刚回学校,老师就让我这几天把论文的初稿给他,我这样的情况哪里能弄初稿给他啊,上面的三个问题我都还没有解决,我不知道怎么弄初稿给他,哪位大侠帮我看看我老师的这段代码然后帮我看一下第2步怎么实现,我真的是感激不尽。先谢谢了。。
import java.io.*;

class MyUser implements java.io.Serializable
{
public String a;
public String[] bVec;
public MyUser()
{
a=new String();
bVec=new String[3];
}

}
public class DataTest implements java.io.Serializable{
public int aa;
public int bb;
public float cc;
public int[]aavec;
public MyUser[] myuser;

public DataTest() {
aa=0;
bb=0;
cc=0;
aavec=new int[100];
myuser=new MyUser[10];
for(int i=0;i
}

public static void main(String[] args) {
DataTest datatest = new DataTest();
datatest.aa=10;
datatest.bb=100;
for (int i=0;i datatest.aavec[i]=i;
for (int i=0;i {
datatest.myuser[i].a=(Integer.toString(i));
for(int j=0;j datatest.myuser[i].bVec[j]=(Integer.toString(i)+":"+
Integer.toString(j));
}
try {

ObjectOutputStream out =
new ObjectOutputStream(
new FileOutputStream("c://userInfo.ser"));
out.writeObject(datatest);
out.flush();
out.close();
}
catch (java.io.IOException IOE) {
System.out.println("IOException");
}


try
{
FileInputStream file = new FileInputStream("c://userInfo.ser");
ObjectInputStream input = new ObjectInputStream(file);
DataTest user = (DataTest) input.readObject();
for(int j=0;j {
System.out.println(user.myuser[5].bVec[j]);
}
String[] mystring;
int result=0;
for(int j=0;j {

mystring=user.myuser[6].bVec[j].split(":");
for(int k=0;k result+=Integer.parseInt(mystring[k]);
System.out.println(result);
}


input.close();
}
catch (java.io.IOException IOE) {
System.out.println("IOException");
}
catch (ClassNotFoundException cnfe) {
System.out.println("ClassNotFoundException");
}
}
}




我晕!
毕业设计也太简单了吧
大哥什么学校?


很简单吗,可以跟我说说吗?
后面还有两个要求我没写出来。。


就是把你类里的数据以字符串的形式存储在文本文件中



就是要注意顺序
也可以每行存储一个数据,可以在每行的开始标记数据在结构中的位置


我现在遇到一个问题,我编译的时候老是说找不到main类。怎么回事?



我用了最简单的程序来测试还是说找不到。


找不到什么?文件?
把代码贴出来


public class da
{
public static void main(String arges[])
{
System.out.print("fdsjlfjelwr");
}
}




出现这个对话框:could not find the main class,programm will exit


在message里还出现这样的话:
java.lang.NoClassDefFoundError: da
Exception in thread "main"


javac da.java
java da


一样不行
出现:exception in thread"main"java.lang.noclassdeffounderror:da


你对java了解太少了
老师干吗让你做这个?



你问的这个问题我现在没有时间思考,我只是想知道我这个怎么做,我郁闷这个,不是郁闷老师为什么让我做这个。555


其实都是很基础的东西
最好找一个java入门的书,看看最简单的代码如何遍
然后再看看文件操作和对象序列化就够了

最重要的是和书上的例子一起练习
慢慢就懂了


可是现在我拿最简单的例子来测试,都不行,我不知道怎么还用其他的例子测试,就象上面我放的代码,出现那些异常情况,我不知道怎么解决。现在都没有办法继续下去了。


上面的是全部的原代码?
很奇怪我这里运行没问题

看看你环境变量path里有没有 .


环境变量里的这个PATH有了的


我是让你看看path里有没有 . (句点)


这个是什么啊?


.;%JAVA_HOME%/bin;%ANT_HOME%/bin;%MYSQL_HOME%/bin;

这是我的,你看看最前面的句点


我的PATH值是C:/Borland/JBuilder2005/jdk1.4/bin


别用jBuilder
那个东西你也得学

就用sun的jdk就行乐


那东西好用吗?JDK是什么啊?我怎么样可以用了?


我烦啊,老师让我过两天交论文了。。。这个问题实在是太严峻了


呵呵;可以通过一些原理的对比分析来阐述一下,在实例的基础上增加点深度


看来只有一个办法:

抄别人的


晕死

楼主找到什么工作了?


你的程序没问题的,能跑通
看看你的jdk或者是环境变量设置的对吗?????



*************************给楼主最中肯的建议:**************************
对呀,看来你对java了解甚少,估计你找工作也不打算从这方面找,做这个对你也没什么意义,干脆抄算啦!或者干脆再csdn上找个人把你的毕业设计做了,你适当给人点补偿。要现在开始学,打死不可能在两天之内搞定。真的!!!


Mark~


*************************给楼主最中肯的建议:**************************
对呀,看来你对java了解甚少,估计你找工作也不打算从这方面找,做这个对你也没什么意义,干脆抄算啦!或者干脆再csdn上找个人把你的毕业设计做了,你适当给人点补偿。要现在开始学,打死不可能在两天之内搞定。真的!!!

//------------------------------------------------------------------------
兄弟说得太对了,现在说找工作难,大概就这个原因了,我的心儿也有底了,祖国的花朵又盛开了!


我的工作找到,是当老师的,计算机老师,教初中生pascal编程,我选的这个设计课题是当初跟自己赌气,非选一个从来没有接触过的东西,现在烦了。老师有事不在,又可以拖两天,可是越拖心越毛,抄都不知道去哪里抄


。。。


你倒是可以把这次的经验教给你的学生啊。


教他们做事要量力而为之?


环境变量要设置到系统环境变量即你lang包下的目录为好


javac DataTest .java
java DataTest

你编译一下这个 问题就好了





一群无知少年


↑返回目录
前一篇: could not find main class?
后一篇: JScrollBar如何 自动滚动到最下面