黑马程序员技术交流社区
标题:
【IO流】 总结④
[打印本页]
作者:
黑马-王康
时间:
2012-10-11 11:42
标题:
【IO流】 总结④
1、IO 流基本操作基本规律总结
①明确源和目的
源: InputStream ; Reader ; 目的:OutStream Writer ;
②明确数据是否是纯文本数据
源:是纯文本:reader . 否:inputStream .
目的:是纯文本:writer . 否:outputStream .
到这里就可以明确需求中具体要使用哪个体系。
③ 明确设备
源设备:
硬盘:对应的是文件,File .
键盘:System.in
内存:数组
网络:socket流
目的设备:
硬盘:File
控制台:System.out
内存:数组
网络:Socket流
④是否需要其它额外功能
1是否需要高效缓冲区 buffer。
2、 流基本操作规律体现
①赋值一个文本文件
分析:操作源和目的,是纯文本,设备是硬盘。
FileReader fr=new FileReader(“a.txt”);
FileWriter fw=new FileWriter(“b.txt”);
加缓冲
BufferedReader bufr=new BufferedReader(new FileReader(“a.txt”));
BufferedWriter bufw=new BufferedWriter(new FileWriter(“b.txt”));
② 读取键盘录入信息,并写入到另一个文件中。
分析:操作源和目的,是纯文本,键盘和硬盘设备,
InputStream in=System.in ;
FileWriter fw=new FileWriter(“b.txt”);
这样可以通过字节转为字符串完成,但麻烦,所以有字符流操作实现转换。
InputStreamReader isr=new InputStreamReader(System.in);
FileWriter fw=new FileWriter(“b.txt”);
还需要额外功能,高效
BufferedReader bufr=new BufferedReader (new InputStreamReader(System.in));
BufferedWriter bufw=new BuggeredWriter(new FileWriter(“b.txt”));
③ 将一个文本文件数据显示在控制台上
分析:需要源和目的,是纯文本,硬盘和控制台设备
FileReader fr=new FileReader(“a.txt”);
OutputSream os=System.out ;
需要转换
FileReader fr=new FileReader(“a.txt”);
OutputStreamWriter osw=new OutputStreamWiter(System.out);
需要高效
BufferedReader br=new BufferedReader(new FileReader(“a.txt”));
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
④读取键盘录入数据,显示在控制台上
分析:源和目的,是纯文本,键盘和控制台
InputSream in=System.in ;
OutputSream out= System.out ;
转换:因为操作的是文本数据
InputSreamReader isr=new InputStreamReader(System.in);
OutputStreamWriter osw=new OutputStreamWriter(System.out);
高效
BufferedReader bufr=new BuggeredReader(new InputStreamReader(System.in));
BufferedWriter bufw=new BufferedWriter(new OutputStreamWriter(System.out));
3、File :将一个已存在或不存在等待文件或目录封装成file对象。
① 获取: getName(); getAbsolutePath(); getPath(); length(); lastModified();
② 创建和删除: createNewFile() ; delete(); mkdir() ; dir.delete() ;
③ 判断: exists() ; isFIle(); isDirectory();
④ 重命名: f1.renameTo(f2); //将f1改名为f2 .
⑤ 系统根目录: listRoots() ;
⑥ 获取目录下的文件以及文件夹名称: list() ;
作者:
xuewuzhijing
时间:
2012-10-12 23:21
总结的太好了,以前还没看到过这么全面的
作者:
马州州
时间:
2012-10-13 02:29
不知道这跟老毕讲课时候写的总结有什么区别。。。。
作者:
黑马-王康
时间:
2012-10-13 07:33
马州州 发表于 2012-10-13 02:29
不知道这跟老毕讲课时候写的总结有什么区别。。。。
没呀,老毕讲的很全。自己边听边做详细的笔记,然后发出来给大家和自己做参考。:D
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2