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

Posted gaohy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java学习日记-----IO流相关的知识,希望对你有一定的参考价值。

 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流的主要内容,如果未能解决你的问题,请参考以下文章

2019-06-1 java学习日记

Java 程序性能优化“学习日记”

技术流-算法学习日记(冒泡排序)

阿里P8架构师(花名:霍州)Java程序性能优化“学习日记”

阿里 P8 架构师(花名:霍州)Java 程序性能优化“学习日记”

java学习日记第一天