Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用java在列表中显示结果?列表<;节目>;_Java_Serialization_Arraylist_Collections_Deserialization - Fatal编程技术网

用java在列表中显示结果?列表<;节目>;

用java在列表中显示结果?列表<;节目>;,java,serialization,arraylist,collections,deserialization,Java,Serialization,Arraylist,Collections,Deserialization,这是一个应用程序,用于查看和预订音乐节目的门票。。 我必须查看并预订演出时间、可用座位和演出名称。。 因此,我必须从序列化的文件中获取值。 我已经反序列化了文件-“ShowDetails.ser”。但我必须将值存储在列表中。。。当我试图显示时,会出现错误 shows.java类 package egs; import java.io.Serializable; public class Shows implements Serializable { private stati

这是一个应用程序,用于查看和预订音乐节目的门票。。 我必须查看并预订演出时间、可用座位和演出名称。。 因此,我必须从序列化的文件中获取值。 我已经反序列化了文件-“ShowDetails.ser”。但我必须将值存储在列表中。。。当我试图显示时,会出现错误

shows.java类

    package egs;
   import java.io.Serializable;
   public class Shows implements Serializable {
private static final long serialVersionUID = 1L;
private String showName;
private String showTime;
private int seatsAvailable; 


public String getShowName() {
    return showName;
}
public void setShowName(String showName) {
    this.showName = showName;
}
public String getShowTime() {
    return showTime;
}
public void setShowTime(String showTime) {
    this.showTime = showTime;
}
public int getSeatsAvailable() {
    return seatsAvailable;
}
public void setSeatsAvailable(int seatsAvailable) {
    this.seatsAvailable = seatsAvailable;
}   
    }
-----------------------------序列化文件ShowDetails.ser

     package egs;

     import java.io.FileInputStream;
        import java.io.FileOutputStream;
     import java.io.IOException;
     import java.io.ObjectInputStream;
      import java.io.ObjectOutputStream;
      public class SerializationUtil {
     public static Object deserialize(String fileName) throws  IOException,ClassNotFoundException {
         FileInputStream fis = new FileInputStream(fileName);
      ObjectInputStream ois = new ObjectInputStream(fis);
    Shows obj = (Shows)ois.readObject();
    ois.close();
    return obj;
}

// serialize the given object and save it to file
public static void serialize(Object obj, String fileName)
        throws IOException {
    FileOutputStream fos = new FileOutputStream(fileName);
    ObjectOutputStream oos = new ObjectOutputStream(fos);
    oos.writeObject(obj);

    fos.close();
}
      }
-------------------------------------------主要方法

      Shows empNew = null;
    try {
        empNew = (Shows) SerializationUtil.deserialize(fileName);
    } catch (ClassNotFoundException | IOException e) {
        e.printStackTrace();
    }

   // System.out.println("emp Object::"+emp);
    System.out.println("ShowName"+empNew.getShowName());
            System.out.println("ShowTime"+empNew.getShowTime());
    System.out.println("SeatsAvailable"+empNew.getSeatsAvailable());

}
--------------正如你们所看到的,我创建了一个展示的对象。但我想在列表中显示它。。。如何将显示值放入列表中。。。 我试过了

    List<Shows> list= new ArrayList();
    list.add(empNew);
线程“main”java.lang.NullPointerException中出现异常 位于egs.egs.main(egs.java:58) C:\Users\Makarand\AppData\Local\NetBeans\Cache\8.1\executor snippets\run.xml:53:Java返回:1 生成失败(总时间:1秒)


------------请帮忙。。。提前感谢:)

在某个地方,您提供的代码中没有,您可能有一行写着
import com.bean.Show而不是导入egs.Shows(可能应该是这样)


我还强烈建议您使用可靠的编辑器。我个人推荐,但你也可以。然后,使用自动格式化功能修复缩进。当您的代码格式整齐时,您会发现阅读和使用代码要容易得多。

首先,请处理您的格式设置。很容易弄糊涂,不是吗。第二个
java.lang.ClassNotFoundException:com.bean.Show
意味着类
com.bean.Show
不在类路径上,所以请查看它(即,如何启动应用程序)。第三,您可能在下面的语句中得到NPE:
empNew.getShowName()
其中
empNew
很可能为空,因为由于CNFE,反序列化失败。下面是您的问题
java.lang.ClassNotFoundException:com.bean.Show
,看起来类
com.bean.Show
没有附加到您的项目中。如果你仔细看,你的类
Show
生活在包
egs
Yes中。谢谢你,詹姆斯。我发现了错误。。代码正在运行。。我使用netbeans。
      java.lang.ClassNotFoundException: com.bean.Show
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:628)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1620)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1521)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1781)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:373)
at egs.SerializationUtil.deserialize(SerializationUtil.java:22)
at egs.Egs.main(Egs.java:52)