java - 文件读取时出错

标签 java arraylist

我想创建一个名为 Room 的类的对象的 ArrayList 并将其存储到文件中。我已经成功编写了它,但是当我将其读回 ArrayList 时,它给出了以下错误

error: incompatible types
                temp_read=filereader.readObject();
                                               ^
required: Room
found:    Object  

我的代码:

public class Room implements Serializable
{
    public String room_number="";
    public String teacher_name="";
    public String Day_of_class="";

    public String class_name="";
    public My_Time start_time;
    public My_Time end_time;
    public Room()
    {
        room_number="";
        teacher_name="";
        Day_of_class="";
        class_name="";
        start_time=new My_Time();
        end_time=new My_Time();
    }
    public Room(String  r_name ,String t_name ,String cl,String day,
                int hr1,int min1,String am1,int hr2,int min2,String am2 )
    {
        room_number=r_name;
        teacher_name=t_name;
        Day_of_class=day;
        class_name=cl;
        start_time=new My_Time(hr1,min1,am1);
        end_time=new My_Time(hr2,min2,am2);
    }

public void file_room_writer(/* ArrayList<Room> temp_room ,*/String str )
{

    /// file writing handling`enter code here`
    //--------------------------------------------------
    //  Room a1 =temp_room; 
    try {
        File file = new File(str+".txt");
        FileOutputStream file_stream=new FileOutputStream(file);
        ObjectOutputStream fileWriter = new ObjectOutputStream(file_stream); 
        fileWriter.writeObject(class_storing);  
        fileWriter.close();
    }
    catch(Exception e1)
    {
        JOptionPane.showMessageDialog(null,"Exception at file writing ");
    }           
}

public void file_room_reader(String str )
{
    /// file handlingg
    //--------------------------------------------------
    ArrayList<Room> contain_room ;
    try {
        File file = new File(str+".txt");
        FileInputStream file_stream=new FileInputStream(file);
        ObjectInputStream filereader = new ObjectInputStream(file_stream);

        temp_read=filereader.readObject();
        contain_room=(ArrayList<Room>)filereader.readObject();
        filereader.close();
    }
    catch(Exception e1)
    {
        e1.getStackTrace();
        JOptionPane.showMessageDialog(null,"Exception at file Reading ");
    }
}

最佳答案

readObject 方法返回一个对象 - 您必须尝试将其转换为 Room。

temp_read = (Room) filereader.readObject();

关于java - 文件读取时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34516789/

相关文章:

java - firebase databasereference 没有给出虚方法错误

java - Arraylist 到 JSON 字符串生成器

java - 在具有不同索引和大小的数组列表上添加不重复的元素

java - 将 ArrayList 从 Activity 传递到 CustomDialog

java - java中的日期格式

java - 以一个字符串作为输入,如果它完全由 Java 中的字符 A、T、C、G 组成,则返回有效

c# - 如何从 C# 运行 Java(一个 JAR 文件)?

java - 无法预期 JUnit 的 ExpectedException 出现多个异常

java - ArrayList中不同类型(相同接口(interface))的计数

java - indexOf() 方法在 ArrayList 中找不到我的字符串