JAVA io简单说明

Java类中的IO分为输入和输出两部分。任何自Inputstream或Reader派生的类都含有read()方法,用于读取单个字节或者字节数组,任何自Outputstream或Writer派生的类都含有write()方法,用于写入单个字节或字节数组。但是这些方法通常不是给我们直接使用的,一般用于别的类,以便提供更有用的接口。JAVA IO之所以负责,就在于,通常我们要创建类对象不是单一的,而是叠合使用多个对象来提供所期待的功能。(使用装设这模式,创建单一结果流,却需要创建多个对象)。

首先要明确一点,就是类的设计者限定与输入有关的所有类都应该从InputStream类继承,与输出有关的所有类都应该从OutputStream类继承。

1.inputStream类型

功能
ByteArrayInputStream将内存的缓冲区当做InputStream使用
StringBufferInputStream将String转换为InputStream
FileInputStream从文件中读取信息
PipedInputStream产生用于写入相关PipedOutputStream的数据
SequenceInputStream将两个或者多个InputStream对象转换为单一InputStream
FilterInputStream抽象类,作为装饰器的接口。用于为其他Inputstream类提供有用的功能

2.outputStream类型

功能
ByteArrayOutputStream内存中创建缓冲区,所有送往流的数据都放在此
FileOutputStream将信息写进文件
PipedOutputStream任何写入其中的信息都会作为PipedOutputStream的输出
FilterOutputStream抽象类,装饰器接口,用于为其他的outputstream提供功能

Reader和Writer:面向字符流。在把来自字节层面的类转换到字符层面的类的时候,要用到适配器类:InputStreamReader可以把InputStream转换为Reader,OutputStreamWriter可以把OutputStream转换为Writer。注意一点就是,尽量尝试使用Reader和Writer,一旦成武代码无法成功编译的时候,再使用面向字节的类库。

下面列出我平时针对指定要处理的对象,会使用到的流。

1.文件

//文件处理
String fileHandle(String filename){
    BufferedReader bufferedReader = new BufferedReader(new     
    FileReader("resources/dirlist.txt"));
    String str;
    StringBuilder stringBuilder = new StringBuilder();
    while((str=bufferedReader.readLine())!=null){
        stringBuilder.append(str+"\n");
    }
    bufferedReader.close();
    return stringBuilder.toString();
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值