字节缓冲流:
package io;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class BufferdStreamdemo {
public static void main(String[] args) throws IOException {
// //字节缓冲输出流:BuffereOutputStream(OutputStream out)
// FileOutputStream fos =new FileOutputStream("C:\\DW\\fis.txt");
// BufferedOutputStream bos =new BufferedOutputStream(fos);
// //BufferedOutputStream bos =new BufferedOutputStream(new FileOutputStream("C:\\DW\\fis.txt")); 也可以
// //写数据
// bos.write("hello\r\n".getBytes());
// bos.write("world\r\n".getBytes());
// //释放资源
// bos.close();
//字节缓冲输入流:BuffereInputStream(OutputStream out)
FileInputStream fis =new FileInputStream("C:\\DW\\fis.txt");
BufferedInputStream bis =new BufferedInputStream(fis);
//BufferedInputStream bis =new BufferedInputStream(new FileInputStream("C:\\DW\\fis.txt")); 也可以
//读数据
//一次读取一个字节数据
// int by;
// while((by=bis.read())!=-1) {
// System.out.print((char)by);
// }
//一次读取一个字节数组数据
byte[] bys =new byte[1024];
int len;
while((len=bis.read(bys))!=-1) {
System.out.print(new String(bys,0,len));
}
//释放资源
bis.close();
}
}
字符缓冲流
package io;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/*
* 构造方法:
* BufferedWriter(Writer out)
* BufferedReader(Reader int)
*/
public class BufferedStreamdemo2 {
public static void main(String[] args) throws IOException {
// //BufferedWriter(Writer out)
FileWriter fw=new FileWriter("C:\\DW\\fis.txt");
BufferedWriter bw=new BufferedWriter(fw);
// bw.write("a\r\n");
// bw.write("hello\r\n");
// bw.write("world\r\n");
//BufferedReader(Reader int)
FileReader fr=new FileReader("C:\\DW\\fos.txt");
BufferedReader br=new BufferedReader(fr);
//一次读写一个字符数据
// int ch;
// while((ch=br.read())!=-1) {
// System.out.print((char)ch);
// }
//一次读写一个字符数组数据
char[] chs =new char[1024];
int len;
while((len=br.read(chs))!=-1) {
System.out.print(new String(chs,0,len));
}
br.close();
bw.close();
}
}
字符缓冲流的特有的功能:
package io;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/*
* 字符缓冲流的特有的功能
* BufferedWriter:
* void newLine():换行,行分隔符字符串由系统属性定义
* BufferedReader:
* public String readLine():读一行文字,结果包含行的内容的字符串,不包括任何终止字符,
* 如果流的结尾已经到达,则为null
*/
public class Buffereddemo {
public static void main(String[] args) throws IOException {
//创建字符缓冲输出流
// BufferedWriter bw=new BufferedWriter(new FileWriter("C:\\DW\\fis.txt"));
// //写数据
// for(int i=0;i<2;i++) {
// bw.write("hello"+i);
// bw.newLine(); //void newLine():换行,行分隔符字符串由系统属性定义
// bw.flush();
// }
//创建字符缓冲输入流
BufferedReader br=new BufferedReader(new FileReader("C:\\DW\\fis.txt"));
//public String readLine()
//测试
/*
//第一次读取
String s=br.readLine();
System.out.println(s);
//第二次读取
s=br.readLine();
System.out.println(s);
//第三次读取
s=br.readLine();
System.out.println(s); //流的结尾已经到达,返回null
//第四次读取
s=br.readLine();
System.out.println(s); //流的结尾已经到达,返回null
*/
//最终写法
String s;
while((s=br.readLine())!=null) {
System.out.println(s);
}
//释放资源
// bw.close();
br.close();
}
}