2017-07-15 91 views
-1

我是Java初学者,并试图学习FileInputStreamFileOutputStream的基础知识。我能够成功地将数据写入文件,但无法读取它。这是我的代码。如果我缺少读取数据的东西,请让我知道。无法使用ObjectInputStream从txt文件读取值

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

该文件只包含一行文本,“学习文件流”。 @JafferWilson没有错误,我得到的输出是MathematicalOperation @ eed1f14 – gowthamjs23

回答

0

如果你想读的.txt文件的内容,只是用的FileInputStream类。

而且,这将是的,如果你不需经过

0

很大的帮助虽然写入文件“testdata.txt”你逝去的MathematicalOperation类的对象,你可以设置类成员的值写入文件之前(如mo.setXXX()),当你从文本文件读取该对象时,可以使用MathematicalOperation的返回对象(例如mo.getXXX())获取这些值,并且在打印对象之前,请在您的MathematicalOperation类中覆盖toString()方法显示类的所有字段的正确值。