我的一个User类
package com;public class User implements java.io.Serializable { String name;
String p;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getP() {
return p;
}
public void setP(String p) {
this.p = p;
}
}
在用ObjectOutputStream写入时
Socket s = new Socket("127.0.0.1",8888);
ObjectOutputStream oos = new ObjectOutputStream(s.getOutputStream());
User u = new User();
u.setName("df");
u.setP("df");
oos.writeObject(u);
s.close();
总是报
java.lang.ClassNotFoundException: com.User
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:289)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:604)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at test.Test.<init>(Test.java:18)
at test.Test.main(Test.java:8)
请问这是怎么回事啊。而且就是读不出来时我才发现连写入都不可以。。

解决方案 »

  1.   

    在你写入User的那个类,引入了User没啊
      

  2.   


    at test.Test.main(Test.java:8)你的Test 和 User类不同包。最好把对应的Test贴出来,是不是你只是纯粹的把User类编译好的文件拷贝过来啊。还有啊你的Test和User的对应文件位置关系如何?
      

  3.   


    我也是刚发现要是Test类和User类在一个包下会有用,分到不同的包就没有用。。但是我看到人家不在同一个包下。也会有用。为什么我不在同一个包下没有用呢我也引入了。。就是说找不到类。。