バイトのストリームとストリームを処理できるPrintWriter
クラスをテストしています。私は文字のストリームで試してみるとすべてがスムーズになりました。今はバイトストリームでテストしていました。ここでは、コードがあります:バイトのストリームでのPrintWriterの使用
package com.files.ex1;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.PrintWriter;
public class ex1 {
public static void main(String[] args) {
PrintWriter oPW;
try {
oPW = new PrintWriter(new ObjectOutputStream(new FileOutputStream("data.txt")));
oPW.write("1\n");
oPW.write("2\n");
oPW.write("3\n");
oPW.flush();
oPW.close();
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
}
これは読んで、常にnullを出力しますしようとしたクラスです。
package com.files.ex1;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
public class ex1_2 {
public static void main(String[] args) {
ObjectInputStream oOIS;
try {
oOIS = new ObjectInputStream(new FileInputStream("data.txt"));
String s = (String) oOIS.readObject();
System.out.println(s);
} catch (IOException e) {
System.out.println(e.getMessage());
} catch (ClassNotFoundException e) {
System.out.println(e.getMessage());
}
}
}
また、このクラスを使用する利点は何ですか?文字ストリームの場合は、それぞれBuffedReadear
またはBufferedWriter
を使用して、読み込みまたは書き込みをそれぞれ最適化することができ、flush()
メソッドもあります。 そして、PrintWriter
をバイトストリームで使用する利点は何ですか? ObjectOutputStream
を単独で使用すると、上記の操作を実行しようとすると機能します。