import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Main{
public static void main(String[] args) {
File f = new File("word.txt");
FileOutputStream out = null;
DataOutputStream dos = null;
try {
out = new FileOutputStream(f);
dos = new DataOutputStream(out);//将文件流包装成数据流
//写进去是乱码,输入进去的是字节码,必须使用数据的输入流来将文件的字节码读出来,然后用它的方法将数据解析出来
dos.writeUTF("这还是你好");//写入字符串数据
dos.writeDouble(3.14);//写数值类型的数据,尽量不要写在一起,不然会出错
// dos.writeDouble(3.14);
dos.writeBoolean(true);//写入boolean值
dos.writeInt(123);
} catch (FileNotFoundException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}finally {
if(out != null) {
try {
out.close();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
FileInputStream in = null;
DataInputStream di = null;
try {
in = new FileInputStream(f);
di = new DataInputStream(in);//将文件流包装成数据流
System.out.println("readUTF()去读数据:" + di.readUTF());//读文件中的String数据
System.out.println("readDouble()去读数据:" + di.readDouble());//读文件中的Double数据
System.out.println("readboolean()去读数据:" + di.readBoolean());//读文件中的boolean数据
System.out.println("readInt()去读数据:" + di.readInt());//读文件中的int数据
} catch (FileNotFoundException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
word.txt的结果
运行结果: