我是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();
}
}
}
答案 0 :(得分:0)
如果您正在尝试读取.txt文件的内容,请使用FileInputStream类。
此外,如果你愿意,那将会有很大帮助
答案 1 :(得分:0)
在写入文件“testdata.txt”时,您正在传递MathematicalOperation类的对象,您可以在写入文件(例如mo.setXXX())之前以及从文本文件中读取该对象时设置类成员的值你可以使用MathematicalOperation的返回对象(例如mo.getXXX())获取这些值,在打印对象之前,请覆盖MathematicalOperation类中的toString()方法,以显示该类所有字段的正确值。