A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马-王康 中级黑马   /  2012-10-11 11:42  /  1558 人查看  /  3 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文


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() ;



评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 赞一个!

查看全部评分

3 个回复

倒序浏览
总结的太好了,以前还没看到过这么全面的
回复 使用道具 举报
不知道这跟老毕讲课时候写的总结有什么区别。。。。
回复 使用道具 举报
马州州 发表于 2012-10-13 02:29
不知道这跟老毕讲课时候写的总结有什么区别。。。。

没呀,老毕讲的很全。自己边听边做详细的笔记,然后发出来给大家和自己做参考。:D
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马