码迷,mamicode.com
首页 > 编程语言 > 详细

Java学习日记-----IO流

时间:2018-04-20 14:29:26      阅读:254      评论:0      收藏:0      [点我收藏+]

标签:程序   byte   ima   输入数据   void   readline   角度   标准输入输出流   amr   

 1.java.io包下

  File类:java程序中的此类的一个对象,就对应着一个文件或网络中的一个资源。

  Flie file1 = new File("D:\\io\\hello.txt");

  File file2 = new File("D:\\IO\\io1");

   >1. File既可以表示一个文件也可以表示一个文件目录

   >2.   File的对象是与平台无关的

   >3. File类针对于文件或文件目录,只能进行新建、删除、重命名、上层目录等等操作。若涉及到访问文件内容只能使用IO流来操作。

   >4.   常把File类的对象作为形参传递给对应的输入输出流的构造器。

 

2.IO流的结构

  技术分享图片

3.IO流的划分

  1)按照流的流向: 输入   输出(站在程序的角度)

  2)按照流中的数据的单位不同:字节流   字符流  (纯文本文件使用字符流  除此之外使用字节流)

  3)按照流的角色不同: 节点流 处理流   (流直接作用于文件上的是节点流,除此之外都是处理流)

4.重点掌握
* 抽象基类           节点流(文件流)                  缓冲流(处理流的一种,可以提升文件操作的效率)
* InputStream       FileInputStream (int read(byte[] b))        BufferedInputStream (int read(byte[] b))
* OutputStream       FileOutputStream (void write(b,0,len))         BufferedOutputStream (flush()) (void write(b,0,len)) 
* Reader          FileReader (int read(char[] c))          BufferedReader (readLine()) (int read(char[] c))或String readLine()
* Writer            FileWriter (void write(c,0,len))          BufferedWriter (flush()) (void write(c,0,len)或void write(String str))

注意:从硬盘中读入一个文件,要求此文件一定存在。若不存在,报FileNotFoundException的异常

从程序中输入一个文件到硬盘,此文件可以不存在。若不存在,就创建一个,实现输出。若存在将起覆盖。

在真正开发时,就是用缓冲流代替节点流。

主要最后要关闭相应的流,先关输出流,再关输入流。此操作放在finally中。

5.其他的流

1.转换流:  实现字节流与字符流之间的转换

   InputStreamReader:输入时,实现字节流到字符流的转换,提高操作的效率(前提是:数据是文本文件)   =====>解码:字节数组到字符串

 OutputStreamWriter:输出时,实现字符流到字节流的转换。 ===>编码:字符串到字节数组

例题:

从键盘输入字符串,要求将读取到的整行字符串转成大写输出。然后继续进行输入操作,直至当输入“e”或者“exit”时,退出程序。

2.标准输入输出流 

System.in: The "standard" input stream:从键盘输入数据
System.out:The "standard" output stream:从显示器输出数据

3.打印流

4.数据流

5.对象流

6.随机存取文件流

Java学习日记-----IO流

标签:程序   byte   ima   输入数据   void   readline   角度   标准输入输出流   amr   

原文地址:https://www.cnblogs.com/Gaohy/p/8890434.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!