javaIO流总结


IO流

1.        IO流(Input Output):用来处理设备之间的数据传送。

a)        按照流操作数据分为两种:字节流(操作图片,音乐等文件)和字符流(操作文字数据)

l        字节流抽象基类

1.        InputStream和OutputStream

l        字符流的抽象基类

1.        Reader和Write

b)       流按流向分为:输入流和输出流

2.      字符流缓冲区:提高了对数据的读写效率,在流的基础上进行增强。

a)      字符流:FileWriter ,FileReader。

b)     BufferedReader       温馨提示:关闭缓冲流就不用关闭写入流了

l        缓冲区提供了一个跨平台的换行符:NewLine();

c)     BufferedWriter

l        ReadLine() 读取一行数据

3.     装饰设计模式:

a)     当想要对已有的对象进行功能增强时,可以定义类,将已有的对象传入,基于已有的功能,并提供加强功能,那么自定义的该类为装饰类。

b)     装饰设计模式与继承的区别

l        装饰模式比继承要灵活,避免了集成体系的臃肿

l        而且降低了类与类之间的关系。

l        装饰类因为增强已有对象,具备的功能和已有的是相同的,只不过提供了更强的功能,所以装饰类和被装饰类都是属于一个体系中。  

4.     字节流。(FileInputStream 读取流 , FileOutputStream写入流)

a)     字节流缓冲区

l        BufferedInputStream , BufferedOutputStream

b)     FileInputStream 读取流

l        available(), 定义一个刚刚好的缓冲区,不用再循环操作了。此方法慎用,当数据太大的时候建议使用循环读取,否则容易内存溢出。

5.     键盘录入:

l        System.out对应的是标准的输出设备,控制台

l        System.in 标准的输入设备,键盘

6.     读取转换流

a)     InputStreamReader ,将字节流转换成字符流

7.     写入转换流

a)     OutputStreamWriter ,将字符流转成字节流

8.     1,明确源和目的。

 源:输入流。InputStream  Reader

 目的:输出流。OutputStream  Writer

2,操作的数据是否是纯文本。

   是:字符流。

   不是:字节流。

 

3,当体系明确后,在明确要使用哪个具体的对象。

   通过设备来进行区分:

   源设备:内存,硬盘。键盘

   目的设备:内存,硬盘,控制台。

 

------------例如----------------------------------

1,将一个文本文件中数据存储到另一个文件中。复制文件。

   源:因为是源,所以使用读取流。InputStream Reader

   是不是操作文本文件。

   是!这时就可以选择Reader,如果不是,就选择InputStream

   这样体系就明确了。

 

   接下来明确要使用该体系中的哪个对象。

   明确设备:硬盘。上一个文件。

    Reader体系中可以操作文件的对象是 FileReader

 

   是否需要提高效率:是!。加入Reader体系中缓冲区 BufferedReader.

 

 

    FileReader fr =new FileReader("a.txt");

    BufferedReaderbufr = new BufferedReader(fr);

 

   目的:OutputStream Writer

   是否是纯文本。

   是!Writer

   设备:硬盘,一个文件。

    Writer体系中可以操作文件的对象FileWriter

   是否需要提高效率:是!。加入Writer体系中缓冲区 BufferedWriter

   

    FileWriter fw =new FileWriter("b.txt");

    BufferedWriter bufw = newBufferedWriter(fw);


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值