Java 无法使用ObjectInputStream从txt文件中读取值
我是Java初学者,正在努力学习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;
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