2017-07-15 92 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()方法顯示類的所有字段的正確值。