教案day笔记day22总结io_第1页
教案day笔记day22总结io_第2页
教案day笔记day22总结io_第3页
免费预览已结束,剩余4页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1:IO 流(1)分类字节流:输入流:InputStreamread() read(byte bys)FileInputStream BufferedInputStream输出流:OutputStreamwrite(by)write(byte bys,index,len)FileOutputStreamBufferedOutputStream字符流:输入流:Readerread() read(char chs)FileReader BufferedReaderString readLine()输出流:Writerwrite(ch)write(char chs,index,len)FileWri

2、terBufferedWriter write(String line) void newLine()(2)到底使用谁?如果能用记事本打开,不出现乱码,就优先使用字符流;否则用字节流。确定上面的情况以后,一般都是用高效流(Bufferedx)(3)文本文件:9 种方式:字节流:4 种基本流每次操作一个字节基本流每次操作一个字节数组高效流每次操作一个字节高效流每次操作一个字节数组()字符流:5 种基本流每次操作一个字符基本流每次操作一个字符数组高效流每次操作一个字符高效流每次操作一个字符数组()高效流每次操作一行文本()思路:1.2.3.4.5.创建缓冲字符输入流对象(建立于文件系统中文件的对应

3、关系)创建缓冲字符输出流对象(建立于文件系统中文件的对应关系)使用输入流对象的 read 方法,读出源文件中内容(显示/其他操作)使用输出流对象的 write 方法,写入数据到目的地文件(需要刷新)关闭流,资源怎么选择使用?代码体现:数据源:a.txt目的地:b.txt思路:1.2.3.4.5.创建缓冲字符输入流对象(建立于文件系统中文件的对应关系)创建缓冲字符输出流对象(建立于文件系统中文件的对应关系)使用输入流对象的 read 方法,读出源文件中内容(显示/其他操作)使用输出流对象的 write 方法,写入数据到目的地文件(需要刷新)关闭流,资源代码体现:/创建对象BufferedRead

4、er br = null; BufferedWriter bw = null; try/实例化对象br = new BufferedReader(new FileReader(a.txt); bw = new BufferedWriter(new FileWriter(b.txt);/内容String len = null;while(len = br.readLine()!= null)/写入数据bw.wrien);bw.newLine();bw.flush();catch(Exception e)e.prStackTrace();finallyif(br != null) trybr.cl

5、ose();catch(Exception e)e.prStackTrace();if(bw !=null) trybw.close();catch(Exception e)e.prStackTrace();(4)二进制流数据:(字节流:4 种,音频等)基本流每次操作一个字节基本流每次操作一个字节数组高效流每次操作一个字节高效流每次操作一个字节数组()怎么选择使用?选用高效流每次操作一个字节数组代码体现:数据源:c:a.jpg目的地:d:b.jpg思路:1.2.3.4.5.创建缓冲字节输入流对象(建立于文件系统中文件的对应关系)创建缓冲字节输出流对象(建立于文件系统中文件的对应关系)使用输入流

6、对象的 read 方法,读出源文件中内容(显示/其他操作)使用输出流对象的 write 方法,写入数据到目的地文件(需要刷新)关闭流,资源/创建对象BufferedInputStream bis = null;BufferedOutputStream try/实例化对象= null;bis = new BufferedInputStream(new FileInputStream(c:a.jpg);= new BufferedOutputStream(new FileOutputStream(d:b.jpg);/byte bys = new byte1024; len = 0;while(le

7、n = bis.read(bys)!= -1)/写入数据.write(bys,0,len);catch(IOException e)e.prfianllyStackTrace();if(bis != null) trybis.close();catch(Exception e)e.prStackTrace();if(!=null) try.close();catch(Exception e)e.prStackTrace();2:转换流(理解)(1)如果有字节流对象,为了使用字符流的功能,就必须使用转换流进行操作。 (2)案例:键盘录入数据BufferedReader br = new Buff

8、eredReader(new InputStreamReader(System.in); BufferddWriter bw = new BufferedWriter(new FileWriter(a.txt);String line = null while(line=br.readLine()!=null)if(over.equals(line)break;bw.wriine);bw.newLine();bw.flush();bw.close();br.close();把文本文件的数据通过流对象在控制台显示BufferedReader br = new BufferedReader(new

9、 FileReader(a.txt); BufferddWriter bw = new BufferedWriter(new OutputStreamWriter(System.out);String line = null while(line=br.readLine()!=null)bw.wriine);bw.newLine();bw.flush();bw.close();br.close();3:打印流(掌握)(1)打印流是写数据的。 (2)特点:A:可以写任意数据类型的数据B:如果启动了自动刷新,能自动刷新,还会换行。pr C:可以直接往文件写数据注意:哪些流对象可以直接读写文件?ln

10、()看构造方法,如果同时有 String 和 File 的构造参数,那么该流对象就可以读写文件。(3)用打印流改进数据源:文本文件的操作c:a.txt目的地:d:b.txtBufferedReader br = new BufferedReader(new FileReader(c:a.txt);PrWritw = new PrWriter(new FileWriter(d:b.txt),true);String line = null; while(line=br.readLine()!=null)pw.prln(line);pw.close();br.close();4:序列化流(理解)序

11、列化:把对象按照流一样的方式在网络中传输,或者反序列化:把流数据还原成对象如何实现序列化?A:被序列化的对象所属的类必须实现序列化接口 B:用序列化流对象进行操作序列化(对象)流对象 ObjectInputStream:Object readObject() ObjectOutputStream:void writeObject(Object obj) (4)掌握:到文本文件A:看到类实现了序列化接口,就知道该类可以被序列化流对象操作 B:看到类实现了序列化接口,知道点击鼠标就可以解决黄色警告问题5:字符编码(理解) (1)编码表:就是字符和对应的数据组成的一张表。(2)常见的编码表: ASCIIISO-8859-1 GBK GB2310 GB18030 UTF-8BIG5-自己问问度娘(3)转换流中的编码问题A:字符流 = 字节流+编码表B:通过转换流写入数据,指定为 UTF-8 编码,并通过 UTF-8 编码。6:Properties(理解)是 Map 体系一个集合类。特点:A:可以把集合中的数据保存到文本文件,也可以把文本文件的数据加载到集合中。 B:该集合的键和值都是 String 类型特殊功能:A:setProperty(String key,String value) B:getProperty(String ke

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论