Java 无法使用ObjectInputStream从txt文件中读取值

Java 无法使用ObjectInputStream从txt文件中读取值,java,fileinputstream,Java,Fileinputstream,我是Java初学者,正在努力学习FileInputStream和FileOutputStream的基础知识。我能够成功地将数据写入文件,但无法读取它。这是我的密码。如果我缺少阅读数据的内容,请告诉我 Application.java import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectOutputStream;

我是Java初学者,正在努力学习
FileInputStream
FileOutputStream
的基础知识。我能够成功地将数据写入文件,但无法读取它。这是我的密码。如果我缺少阅读数据的内容,请告诉我

Application.java

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;

public class Application {

    public static void main(String[] args) throws FileNotFoundException {
        try(FileOutputStream fs = new FileOutputStream("testdata.txt")){

            ObjectOutputStream os = new ObjectOutputStream(fs);
            MathematicalOperation mo = new MathematicalOperation();

            os.writeObject(mo);
            os.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}
ReadingFile.Java

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.ObjectInputStream;

public class ReadDataFromFile {

    public static void main(String[] args) throws FileNotFoundException{
    try(FileInputStream fi = new FileInputStream("testdata.txt")){
        ObjectInputStream oi = new ObjectInputStream(fi);
        MathematicalOperation mo= (MathematicalOperation) oi.readObject();
        System.out.println(mo);
        oi.close();
    } catch (IOException | ClassNotFoundException e) {
        e.printStackTrace();
    }
    }
}

如果您试图读取.txt文件的内容,只需使用FileInputStream类


此外,如果您可以在向文件“testdata.txt”写入时传递MathematicalOperation类的对象,这将非常有帮助,您可以在写入文件之前设置类成员的值(例如mo.setXXX())当您从文本文件中读取该对象时,可以使用MathematicalOperation的返回对象(例如mo.getXXX())获取这些值,在打印该对象之前,请在MathematicalOperation类中重写toString()方法,以显示该类所有字段的正确值。

您遇到了什么错误。。。请注意,该文件只包含一行文本,“学习文件流”@JafferWilson没有错误,我得到的输出是MathematicalOperation@eed1f14