import java.io.*;
import java.util.*;
class Load{
public static void main(String args[]){
// データ作成
Data data = new Data();
try{
// ストリーム作成
ObjectInputStream inStream = new ObjectInputStream(new FileInputStream(args[0]));
// データ読み込み
data = (Data)inStream.readObject();
// クローズ
inStream.close();
// 読み込んだデータ表示
System.out.println(data);
}catch(FileNotFoundException e){
System.err.println("ファイルが開けません");
}catch(IOException e){
System.err.println("入出力エラーです\n" + e);
}catch(Exception e){
System.err.println(e);
}
}
}
import java.io.*;
import java.util.*;
class Save{
public static void main(String args[]){
// データ作成
Data data = new Data();
data.boolData = true;
data.byteData = new Byte((byte)(new Random()).nextInt());
data.charData = 'あ';
data.dblData = (new Random()).nextDouble();
data.strData = "abcdefg";
try{
// ストリーム作成
FileOutputStream fos = new FileOutputStream(args[0])
ObjectOutputStream outStream = new ObjectOutputStream(fos);
fos.flush(); // コンストラクタから帰ったら明示的にflushメソッドを呼ぶ
// クラスデータ書き込み
outStream.writeObject(data);
// クローズ
outStream.close();
// 書き込んだデータ確認
System.out.println(data);
}catch(FileNotFoundException e){
System.err.println("ファイルが開けません");
}catch(IOException e){
System.err.println("入出力エラーです\n" + e);
}
}
}
import java.io.*;
public class Data implements Serializable{
public boolean boolData;
public Byte byteData;
public char charData;
public double dblData;
public String strData;
public Data(){
boolData = false;
byteData = new Byte((byte)0);
charData = '\0';
dblData = 0D;
strData = "";
}
public String toString(){
String str = "";
str += boolData + "\r\n";
str += byteData + "\r\n";
str += charData + "\r\n";
str += dblData + "\r\n";
str += strData + "\r\n";
return str;
}
public void writeObject(ObjectOutputStream stream) throws IOException{
stream.writeBoolean(boolData);
stream.writeObject (byteData);
stream.writeChar (charData);
stream.writeDouble (dblData);
stream.writeUTF (strData);
}
public void readObject(ObjectInputStream stream) throws IOException{
try{
boolData = stream.readBoolean();
byteData = (Byte)stream.readObject ();
charData = stream.readChar ();
dblData = stream.readDouble ();
strData = stream.readUTF ();
}catch(Exception e){
System.err.println(e);
}
}
}
|