下記のソースコードを実行したのですが。
エラーが発生します。(※c:/work/test.txtは存在します。)
おそらくObjectInputStreamの作り方が問題だと思うのですが。。。
解決方法をお教えいただけないでしょうか?
■エラー内容
java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2325)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2794)
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:801)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:299)
at sample.main(sample.java:15)
■ソースコード
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
public class sample implements Serializable {
public static void main(String[] args) throws ClassNotFoundException, FileNotFoundException { FileInputStream fis=new FileInputStream("c:/work/test.txt"); try(ObjectInputStream ois=new ObjectInputStream(fis); ObjectOutputStream oos=new ObjectOutputStream( new FileOutputStream("C:/work/test.txt"))) { TestClass testclass=new TestClass(); testclass.ID="aiueo"; testclass.Name="Name"; oos.writeObject(testclass); TestClass readTestClass=(TestClass)(ois.readObject()); System.out.println(readTestClass.ID); System.out.println(readTestClass.Name); } catch (FileNotFoundException e) { // TODO 自動生成された catch ブロック e.printStackTrace(); } catch (IOException e) { // TODO 自動生成された catch ブロック e.printStackTrace(); } }
}
class TestClass {
String ID;
String Name;
}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/10/22 04:01
2015/10/22 04:02