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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhp19821223 中级黑马   /  2015-10-13 23:56  /  315 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1:字符流(掌握)
Reader
  |--InputStreamReader
   |--FileReader
  |--BufferedReader
Writer
  |--OutputStreamWriter
   |--FileWriter
  |--BufferedWriter
针对文本文件这样的数据操作。
基本的读取和基本的写入,单独使用也是要求掌握的。

掌握:(5种方式)
  把c:\\a.txt复制到d:\\b.txt中。
(1)FileWriter写入数据
  操作步骤:
   A:创建字符输出流对象
   B:调用对象的write()方法
   C:释放资源
  代码体现:
   FileWriter fw = new FileWriter("fw.txt");
   fw.write("hello,IO");
   //fw.flush();
   fw.close();
  几个小问题?
   A:创建字符输出流对象做了那几件事情?
   B:为什么要flush()?
   C:为什么要close()?
   D:flush()和close()的区别?
   E:怎么实现换行?
   F:怎么实现追加写入?
   G:文件不存在,会创建一个。文件如果存在,到底是重新创建,还是把内容给清空?
(2)FileReader读取数据
  操作步骤:
   A:创建字符输入流对象
   B:调用对象的read()方法
   C:释放资源
  代码体现:
   FileReader fr = new FileReader("fw.txt");
   //方式1
   //一次读取一个字符
   int ch = 0;
   while((ch=fr.read())!=-1) {
    System.out.print((char)ch);
   }

   //方式2
   //一次读取一个字符数组
   char[] chs = new char[1024];
   int len = 0;
   while((len=fr.read(chs))!=-1) {
    System.out.print(String.valueOf(chs,0,len));
   }
   fr.close();
(3)复制文本文件
  数据源:
   看用那种类型的流,读取数据。
  目的地:
   看用那种类型的流,写出数据。
  案例:
   把当前项目路径下的Demo.txt复制到d盘目录下的Copy.txt中。
  代码体现:
   方式1:
    FileReader fr = new FileReader("Demo.txt");
    FileWriter fw = new FileWriter("d:\\Copy.txt");
    int ch = 0;
    while((ch=fr.read())!=-1) {
     fw.write(ch);
    }
    fw.close();
    fr.close();

   方式2:
    FileReader fr = new FileReader("Demo.txt");
    FileWriter fw = new FileWriter("d:\\Copy.txt");
    char[] chs = new char[1024];
    int len = 0;
    while((len=fr.read(chs))!=-1) {
     fw.write(chs,0,len);
    }
    fw.close();
    fr.close();

2:转换流(理解)
InputStreamReader isr = new InputStreamReader(System.in);
InputStreamReader isr = new InputStreamReader(new FileInputStream(...));
OutputStreamWriter osw = new OutputStreamWriter(System.out);
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(...));
3:字符编码(理解)
(1)编码表
  字符及其对应的数值组成的一张表。
(2)常见的码表:
  ASCII,ISO-8859-1,GB2312,GBK,GB18030,BIG5,UTF-8
(3)编码应用:
  A:IO流中(转换流)
  B:字符串
  最好编码一致。

1 个回复

倒序浏览
LZ自己总结的吗 我也要总结一发
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马