package Chapter9;
import java.io.*;
import java.util.logging.Logger;
public class Example7 {
public static void main(String[] args) {
try {
DataOutputStream output = new DataOutputStream(
new FileOutputStream("C:\\users\\lenovo\\Desktop\\data.txt"));
output.writeInt(100);
output.writeInt(2342);
output.writeDouble(23.3);
output.writeChars("good morning");
DataInputStream input = new DataInputStream(new FileInputStream("C:\\users\\lenovo\\Desktop\\data.txt"));
System.out.println(input.readInt());
System.out.println(input.readInt());
System.out.println(input.readDouble());
char c;
while ((c = input.readChar())!= '\0') {
System.out.print(c);
}
input.close();
output.close();
System.out.println("cichumeiyoum=w");
} catch (Exception e) {
System.out.println('\n');
e.printStackTrace();
}
}
}
运行结果:100
2342
23.3
good morning
java.io.EOFException
at java.io.DataInputStream.readChar(Unknown Source)
at Chapter9.Example7.main(Example7.java:21)
根据API中readChar()的描述:EOFException
- 如果此流在读取所有字节之前到达末尾。
说明当readChar读取数据结束,在读取时就会直接抛出上面的异常,不会继续赋值,如果在
output.writeChars("good morning");
morning后面加\0就可以。