缓冲流学习记录

本文详细介绍了Java中的字节缓冲流和字符缓冲流的使用,包括BufferedInputStream、BufferedOutputStream、BufferedReader和BufferedWriter的构造与操作。通过实例展示了如何进行文件的读写,以及特有的换行和读取一行文字的功能。
摘要由CSDN通过智能技术生成

字节缓冲流:

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();
	}
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值