IO流

概述:把数据的传输这种流动按照流动的方向以内存为基准分别为inout和output数据流向内存输入流 流出内存的是输出流

java中IO操作再IO包下进行输入和输出得操作 输入---》读取数据   输出也叫写出数据             存东西叫输出     读东西叫输入

IO分类 

根据数据得流向分输入流和输出流

输入流:把数据从其他设备 读取到内存中

输出流:把数据从内存中写出其他设备

根据数据类型分为:  字节流  字符流

字节流: InoutSteam     outputSteam

字符流:reader      writer

字节流:一切皆为字节

图片视频都是以二进制得方式存储 一个一个字节   字节流可以读任何文件

字节输出流:

  OutputStream------》File  OutputStream

        close(); 关流

        flush();刷新

        write(byte  [ ]  btye);

  File OutputStream(File  File);

  File OutputStream(String  String);

File InputSteam

  java.io.InputStream 是所有字节流输入流的超类

  read();读取下一个字节

  read(byte [ ] byte);

  close();

File InputStream extends  InputStream

File InputStream  文件字节输入流

作用:把硬盘上的数据读取到内存里

如何用:FileInputStream(String name);String name 是路径

字节输入流的使用步骤(重点)

  1、创建FileInputStream对象  构造方法中要绑定读取的数据源

  2、s使用对象read()读取文件

  3、释放资源

读取是一个重复的过程用循环fis.read();读不到返回-1

字节输入流一次读取多个字节

read(byte [ ] byte);

byte [ ] 参数作用:

  起到缓冲作用  读取是多个字节  数组长度 1024(1kb)

File Reader 成为文件字符输入流

使用步骤:1、使用Fille Reader对象构造方法当中绑定读取数据的数据源

     2、使用该对象中的方法读取数据read();

     3、释放资源

java.io.writer:字符输出流  抽象类

方法:write();

   flush();

   close();

作用:将内存中的数据写入到文件中

步骤:1、创建Filewriter 对象  数据目的地

   2、用对象中的方法write()

   3、flush()---》将缓冲区当中数据写到文件中

   4、释放资源

续写换行:File  write(String  fileName ,boolean   append);

换行符号:windows:\r\n

     linux:   /n

     mac: /r

在jdk1.7之前使用try catch finally处理流中的异常

  rry{可能会出现异常的代码}

  catch(异常的变量    变量名){  异常处理逻辑}

  finglly{一定会执行代码  释放资源}

jdk1.9新特性

  try前面可以定义流对象

  在try后面()中可以直接引入流对象的名称(变量名)

  在try代码执行完毕以后 流对象可以释放掉 不用写finally

Properties

java.util.proper.ties集合extends  Hashtable<k,v> implements Map<k,v>持久的属性集 Properties 可以保存在流中或者从流中加载唯一的一个和IO流相结合的集合

store 把流中临时的数据持久化到硬盘中

Load 把硬盘中的文件(键对值)读取到集合中使用

使用properties集合存储数据遍历取出

properties集合有一些操作字符串的方法:

  setProperties(String key,String value);

  getProperties(String key);

  String PropertyNames();相当于keyset方法

缓冲流

  字节缓冲输出流:BufferedOutputStream   extends  OutputStream

  close();

  plush(); 

  writer();

使用步骤:1、创建FileOutputSteam 对象

     2、创建Buffered OutStream对象

     3、使用BufferedOutSteam中的方法 write():写到缓冲区

     4、使用BufferedOutSteam中的方法flush();

     5、释放资源

字节传冲输入流:

  BufferedInputSteam

  read();

  close();

构造方法:

  new BufferedInputStream(Input Stream in);

用缓冲区读取数据的步骤

  1、创建FileInputStream对象

  2、创建BufferedInputStream对象

  3、调用read();

  4、释放资源

  

写的不好,如果有大佬想补充的可以在评论区留言