InputStream 、 InputStreamReader 、 BufferedReader

首先,解释一下:

InputStream:得到的是字节输入流,InputStream.read("filename")或者new FileInputStream(file),得到的是字节流

InputStreamReader:从字节到字符的桥梁。InputStreamReader(InputStream.read("filename"))或者InputStreamReader(new FileInputStream(file))

Reader:读取的是字符流,reader.read(InputStreamReader(InputStream in)),便可从字节变为字符。




1、处理字节流的抽象类::InputStream、OutputStream

InputStream   :最低级,是字节输入流的所有类的超类,一般我们使用它的子类FileInputStream

InputStream in =new FileInputStream(file);

while((i=in.read()) != -1){    
                    System.out.println(i);    
            }

OutputStream:最低级,字节输出流的所有类的超类,一般我们使用它的子类FileOutputStream

OutputStream out =new FileOutputStream(fileName);

out.write(b);


2、处理字符流的抽象类:InputStreamReader 、OutputStreamWriter

InputStreamReader  :是字节流通向字符流的桥梁,它将字节流转换为字符流,一般使用

Reader re=new InputStreamReader(new FileInputStream(file));

或者

InputStreamReader re= new InputStreamReader(new FileInputStream(file));

while((i=re.read()) != -1){    
                    System.out.println(i);    
            }

OutputStreamWriter:是字符流通向字节流的桥梁,它将字符流转换为字节流

Writer wr=new OutputStreamWriter(fileName);

wr.write(b);



3、处理字符串:BufferedReader、BufferedWriter

BufferedReader:最高级,由Reader类扩展而来,提供通用的缓冲方式文本读取,readLine读取一个文本行,从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取

BufferedReader br = new BufferedReader(new FileReader(file));
String data = "";
String line = null;
while ((line = br.readLine()) != null) {
data = data.concat(line);
}

BufferedWriter :最高级,由Writer 类扩展而来,提供通用的缓冲方式文本写入, newLine使用平台自己的行分隔符,将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入

BufferedWriter bw = new BufferedWriter(new FileWriter(file.getAbsolutePath()));
b
w.write(s);

bw.close();


诚意之作:silenttalfrede@163.com



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值