BufferedReader、BufferedWriter 类

BufferedReader / BufferedWriter 是缓冲字符输入 / 输出流。缓冲区默认8192字节,当BufferedReader在读取文本文件时,会先尽量从文件中读入字符数据并置入缓冲区,而之后若使用read()方法,会先从缓冲区中进行读取。如果缓冲区数据不足,才会再从文件中读取,使用BufferedWriter时,写入的数据并不会先输出到目的地,而是先存储至缓冲区中。如果缓冲区中的数据满了,才会一次对目的地进行写出。


BufferedReader的构造方法:

public BufferedReader(Reader in, int sz)

通过Reader 构造一个BufferedReader,sz:指定缓冲区大小

public BufferedReader(Reader in) 

通过Reader 构造一个BufferedReader

方法:

public int read() 

读取一个字节

 public int read1(char[] cbuf, int off, int len) 

将字符读入数组的某一部分。

 public String readLine()

读取一行

 public long skip(long n) 

跳过字符

public boolean ready() 

判断此流是否已准备好被读取。。如果缓冲区不是空的,则流已准备就绪。

public boolean markSupported()

在此做标记。

public void mark(int readAheadLimit)

设置担保位数,如果超过担保数,则无法复位。

public void reset() 

将流重置为最新的标记。

 public void close() 

关闭流。

public Stream<String> lines()

1.8  Stream<String>对象

Stream:java1.8新特性。 

备注:关于Stream

BufferedWriter的构造方法:

public BufferedWriter(Writer out)

创建一个使用默认大小的缓冲字符输出流。

public BufferedWriter(Writer out, int sz)

创建一个使用输出的新缓冲字符输出流

方法:

 public void write(char cbuf[], int off, int len)

写入字符数组的一部分。

public void write(int c) 

写入字符串

public void write(String s, int off, int len) 

写入字符的一部分

public void newLine() 

写入一行

public void flush()

写入缓冲区

public void close() 

关闭流

copy:

		BufferedReader	br = new BufferedReader(
				new InputStreamReader(
						new FileInputStream("C:\\Users\\Mr.wang\\Desktop\\单词\\AccessTest\\Access.txt")));
		
		/*BufferedReader	br = new BufferedReader(
				new InputStreamReader(System.in));*/
		/*BufferedReader	br = new BufferedReader(
				new FileReader("C:\\\\Users\\\\Mr.wang\\\\Desktop\\\\单词\\\\AccessTest\\\\Access.txt\"))"));*/
		BufferedWriter	bw = new  BufferedWriter(
				new OutputStreamWriter(
						new FileOutputStream("C:\\Users\\Mr.wang\\Desktop\\单词\\AccessTest\\AccessTest2.txt")));
		/*PrintWriter pw = new PrintWriter("C:\\\\Users\\\\Mr.wang\\\\Desktop\\\\单词\\\\AccessTest\\\\AccessTest2.txt");*/
		Stream<String> s = br.lines();
		
		Object[] S =  s.toArray();
		
		for(Object a:S) {
			System.out.println(a);
		}
		
		/*String lins = null;
		while((lins=br.readLine()) != null) {
			System.out.println(lins);
			bw.write(lins);
			bw.newLine(); //换行
			bw.flush();
			
			
		 * pw.println();  //BufferedWriter 换行
			pw.write(lins);
			pw.flush();
		}*/
	}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值