DataOutputStream & DataInputStream
原子类型(基本数据类型)输出流,辅助流(装饰者),辅助InputStream实现按原子类型输出,DataInputStream也一样,辅助原子类型输入。
//写操作
DataOutputStream out = new DataOutputStream(
new FileOutputStream("E:\\abc\\data.txt"));
//输出内容(按类型)
out.writeInt(50);
out.writeBoolean(true);
out.writeUTF("你好abc");
//关闭
out.close();
//读操作(注意顺序要和写的顺序一致)
DataInputStream in = new DataInputStream(new FileInputStream("E:\\abc\\data.txt"));
//读内容
int a = in.readInt();
boolean b = in.readBoolean();
String str = in.readUTF();
//关闭
in.close();
字符流
按字符的大小输入或者输出,输入用Reader的子类,输出用Writer子类
Reader r = new FileReader("E:\\abc\\123.txt");
//使用缓冲字符输入流
BufferedReader br = new BufferedReader(r);
//读取内容(普通的读取方式,一次一个字符)
int content;
while((content = br.read())!=-1){
System.out.print((char)content);
}
基于缓冲读取(可以按行来读取)
String str ;
while((str = br.readLine())!=null){
System.out.println(str);
}
//关闭流
r.close();
br.close();
字符输出流
Writer w = new FileWriter("E:\\abc\\www.txt");
//如果要在原来的基础上添加内容那么可以在构造时添加append变量值为true
Writer w = new FileWriter("E:\\abc\\www.txt",true);
//加上缓冲输出
BufferedWriter bw = new BufferedWriter(w);
//写内容到磁盘
bw.write("你好你好阿大使大赛肯德基阿萨德");
//缓冲流关闭之前要flush
bw.flush();
//关闭
bw.close();
w.close();
流关系
字节流 字符流
输入流 InputStream Reader
输出流 OutputStream Writer
用他们的子类:FileInputStream,FileOutputStream,FileReader,FileWriter
缓冲流
字节 字符
输入 BufferedInputStream BufferedReader
输出 BufferedOutputStream BufferedWriter