IO-4(BufferedInputStream、BufferedInputStream、BufferedReader、BufferedWriter)

1.BufferedInputStream

字节缓冲输入流

从文件中读取数据

1.1 读数据步骤

  • 创建数据流对象
  • 将基本流包装秤高效流
  • 读数据
  • 关闭流
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;public class Test{public static void main(String[] args) throws IOException  {FileInputStream fi=new FileInputStream("a.txt");BufferedInputStream bis=new BufferedInputStream(fi);int ch=-1;while((ch=bis.read())!=-1)System.out.print((char)ch);bis.close();fi.close();}
}

运行结果:(说明可以读取换行)

2.BufferedOutputStream

字节缓冲输出流

写数据到文件

2.1写数据步骤

  • 创建流
  • 使用高效流进行封装
  • 写数据
  • 关闭流
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;public class Test{public static void main(String[] args) throws IOException  {FileOutputStream fo=new FileOutputStream("a.txt");BufferedOutputStream bos=new BufferedOutputStream(fo);bos.write("你在吗?".getBytes());bos.close();fo.close();}
}

运行结果:

3.BufferedReader

字符缓冲输入流

所有已实现的接口:

       Closeable, Readable

3.1 构造方法

BufferedReader(Reader in):创建一个使用默认大小输入缓冲区的缓冲字符输入流

BufferedReader(Reader in,int size):创建一个使用指定认大小输入缓冲区的缓冲字符输入流

3.2 方法

int read():读取单个字符

int read(char[] chs,int index,int len):将字符读入数组的某一部分

String readLine():读取一个文本行

3.2.1 读取数据方式1:一次一个字符

int ch;
while((ch=in.read())!=-1)System.out.print((char)ch);
in.close();

 

3.2.2 读取数据方式2:一次一个字符数组

char[] chs=new char[1024];
int len;
while((len=in.read())!=-1)System.out.print(new String(chs,0,len));
in.close();

3.2.3 读取数据方式3:一次一个文本行

String line=null;
while((line=in.readLine())!=null)System.out.println(line);
in.close();

 

3.3使用步骤

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;public class Test{public static void main(String[] args) throws IOException  {BufferedReader in=new BufferedReader(new FileReader("a.txt"));String line=null;while((line=in.readLine())!=null)System.out.println(line);in.close();}
}

运行结果:

4.BufferedWriter

字符缓冲输出流

所有已实现的接口:

Closeable, Flushable, Appendable

4.1构造函数

BufferedWriter(Writer out):创建一个使用默认认大小输出缓冲区的缓冲字符输出流

BufferedWriter(Writer out,int size):创建一个使用指定认大小输出缓冲区的缓冲字符输出流

4.2 方法

void newLine():写入一个行分隔符,依当前系统

void write(int c):写入一个字符

void write(char[] c,int index,int len):写入字符数组的某一部分

void write(String str,int index,int len):写入字符串的某一部分

4.3使用步骤

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;public class Test{public static void main(String[] args) throws IOException  {BufferedWriter out=new BufferedWriter(new FileWriter("b.txt"));String line=null;for(int i=0;i<5;i++) {out.write("hello");out.newLine();}out.close();}
}

运行结果:

分析:

BufferedWriter out=new BufferedWriter(new FileWriter("b.txt"));

BufferedWriter将文本写入FileWriter,最终写是由FileWriter来做的。

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部