黑马程序员技术交流社区
标题: 个人关于IO的总结。大家看看有没有需要补充的~~ [打印本页]
作者: 姜胜凯 时间: 2014-1-21 13:09
标题: 个人关于IO的总结。大家看看有没有需要补充的~~
一、IO流
1. IO流是用来处理设备之间的数据传输,java是通过流的方式完成对数据的传输。
2. 操作的基本规律
1>明确源和目的。
2>操作的数据是否是纯文本。
3>当体系明确后,明确要使用哪个具体的对象。
二、IO流结构
IO流
|---字节流
|--输入流抽象基类:InputStream
|--输出流抽象基类:Outputtream
|---字符流
|--输入流抽象基类:Reader
|--输出流抽象基类:Writer
注:由这四个类派生出来的子类名称都是以其父类名作为子类名的后缀。
例 :Reader的子类FileReader
Writer的子类FileWriter
三、字符流的输入与输出(演示IO流的书写规范)
例:字符流的文件复制
import java.io.*;
class IODmeo
{
public static void main(String[] args)
{
FileReader fr=null;
FileWriter fw=null;
try
{
fr=new FileReader("d:\\test.txt"); //读取d:的文件text.txt
fw=new FileWriter("test1.txt");
char [] arr =new char[1024];
while(fr.read(arr)!=-1)
fw.write(arr);
}
catch (IOException e)
{
System.out.println(e.toString());
}
finally
{
if (fr!=null)
{
try
{
fr.close();
}
catch (IOException e1)
{
System.out.println(e1.toString());
}
}
if (fw!=null)
{
try
{
fw.close();
}
catch (IOException e2)
{
System.out.println(e2.toString());
}
}
}
}
}
四、装饰设计模式(IO流的缓冲区)
1.好处:对已有的对象进行功能的增强。装饰类通常通过构造方法来接受被装饰的对象,并基于被装饰的对象进行功能的增强。
2.与继承区别:比继承更灵活,避免了继承体系的臃肿。但因为装饰类是增强已有对象,具备的功能与已有的相同,只不过提供了更强的功能而已。通常与被装饰类属于一个体系中的。
例:
class Person
{
public void chifan()
{
System.out.println("吃饭");
}
}
class SuperPerson
{
private Person p;
SuperPerson(Person p)
{
this.p = p;
}
public void superChifan()
{
p.chifan();
System.out.println("睡觉");
System.out.println("打豆豆");
}
}
3.IO流的缓冲区
Reader---BufferdReader
Writer---BufferdWriter
InputStream---BufferdInputStream
OutputStream---BufferdOutputStream
五、转换流(InputStreamReader、OutputStream)
1.意义:字符流与字节流之间的桥梁,方便了字符流与字节流之间的操作。
2.标准的输入输出流实例(获取键盘录入,控制台输出)
BufferdReader bufr= new BufferdReader(new InputStreamReader(System.in));
BufferdWriter bufw= new BufferdWriter(new OutputStreamWriter(System.out));
作者: anxinjia 时间: 2014-1-21 13:59
不错!支持一下楼主
作者: 黄晓鑫 时间: 2014-1-21 14:47
不错是不错哦 但是IO流还有几个子类 几个经常用的子类也是要熟悉一下的哦
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |