IO

 

1. 原理与概念

a)     流

i.           流动,流向

ii.           从一端移动到另一端 源头到目的地

iii.           抽象、动态概念,是一连串连续动态的数据集合

iv.           程序与文件|数组|网络连接|数据库,以程序为中心

b)    分类

i.           流向:输入流输出流

ii.           数据

  1. 字节流

    a)     InPutStream OutPutStream

    b)    二进制

    c)     可以包括一切文件

  1. 字符流

    a)     Reader Writer

    b)    文本文件

    c)     只能处理纯文本

    4.功能

      a)     节点流

i.           包裹源头

      b)    处理流

i.           增强功能,提高性能

      c)  

  1. File文件类

    a)     两个常量

      i.           路径分隔符;File.pathseparator

       ii.           名称分隔符(windows)/File.separator

    iii.        

    b)  构造File文件

   i.          

    ii.           常用方法

            

    1. 字节流

        a)   读取文件

             i.           建立联系   File对象 源头

               ii.           选择流文件输入流  InputStream FileInputStream

           iii.           操作  : byte[] car =new byte[1024];  +read+读取大小

         iv.         

       v.           释放资源 close

    b)    写出文件

              i.           建立联系   File对象   源头 目的地

        ii.           选择流文件输出流  OutputStream FileOutputStream

              iii.           操作  :  write() +flush

         iv.           释放资源

    c)     文件拷贝

           i.           建立联系   File对象   源头 目的地

           ii.           选择流     文件输入流  InputStream FileInputStream文件输出流  OutputStream FileOutputStream

          iii.           操作  :  拷贝

byte[] flush =new byte[1024]; int len =0;while(-1!=(len=输入流.read(flush))){  输出流.write(flush,0,len) }出流.flush

    d)    文件夹拷贝

      i.           递归查找子孙级文件|文件夹

        ii.           文件 复制(IO流复制)    文件夹  创建

       iii.           不能将父目录拷贝到子目录中

          iv.          

    e)     字符流

         i.           只能处理 纯文本,全部为可见字符  .txt  .html

         ii.           读取

        1. 建立联系

             2.选择流

              3.读取 char[] flush =new char[1024];

              4.关闭

          

    f)      处理流

      i.           字节缓冲流

        1.       BufferedInputStream
        2.       BufferedOutputStream

       ii.           字符缓冲流

        1.       BufferedReader   readLine()
        2.       BufferedWriter    newLine()

          iii.           作用

      iv.          

            

    g)    转换流

       i.         

       ii.          

    h)    其他流

       i.           字符数组流(节点流,字节流)

      ii.           处理流

        1.       基本类型+String  保留数据+类型

                  a)     输入流:DataInputStream    readXxx

                  b)    输出流:DataOutputStream  writeXxx

                  c)    

                  d)   

        1.       引用类型 (对象) 保留数据+类型

                  a)     反序列化 输入流:ObjectInputStream  readObject()

                  b)    序列化 输出流OectOutputStream  writeObject()

                  c)      

                  d)   

          1.         打印流

                  a)     PrintStream  println() print()

                  b)    三个常量 : System.in /out/err   System.setIn() setOut() setErr()

                  c)    

  4.   文件分割

    a)  

    b) 

Java学习 · 初识 IO流的更多相关文章

  1. java学习之IO流(学习之旅,一)

    个人在学习IO流的时候看到如下所示java 流类图结构的时候,我的感想是,这么多··处于蒙的状态. Java流类图结构 这么多,没有分类不好学,那我们就慢慢一口一口的吃,这样每天学习一点就好了,其实很 ...

  2. java学习之IO流

    java io流有四大家族分别是: 1.InputStream(字节输入流) 2.OutputStream(字节输入出流)3.Reader(字符输入流)4.Writer(字符输出流)四个类都是抽象类 ...

  3. java学习笔记——IO流部分

    IO流常用的有:字符流.字节流.缓冲流.序列化.RandomAccessFile类等,以上列出的都是开发中比较常用的. 1.字节流: 字节流包含:FileInputStream/FileOutputS ...

  4. Java 学习笔记 IO流与File操作

    可能你只想简单的使用,暂时不想了解太多的知识,那么请看这里,了解一下如何读文件,写文件 读文件示例代码 File file = new File("D:\\test\\t.txt" ...

  5. java学习笔记 --- IO流小结

    IO流  |--字节流    |--字节输入流     InputStream      int read():一次读取一个字节      int read(byte[] bys):一次读取一个字节数 ...

  6. Java学习:IO流

    IO流 1.IO流 用于处理设备上的数据. 设备:硬盘,内存,键盘录入. 2. IO有具体的分类: 根据处理的数据类型不同:字节流和字符流. 根据流向不同:输入流和输出流. 字符流的由来: 因为文件编 ...

  7. java学习笔记--IO流

    第十二章大纲: I/O input/output 输入/输出 一.创建文件,借助File类来实现 file.createNewFile() : 创建文件 file.exists() : 判断文件是否存 ...

  8. Java学习之IO流及网络编程

    一.字节 1.1字节输入流(java.io.InputStream) ​ 此抽象类是表示字节输入流的所有类的超类 1.1.1定义了所有子类共性的方法: ​ int read() 从输入流中读取数据的下 ...

  9. Java学习之IO流总结

    ---恢复内容开始--- 流是用来读写数据的,java有一个类叫File,它封装的是文件的文件名,只是内存里面的一个对象,真正的文件是在硬盘上的一块区间,在这个文件里面存放着各种各样的数据,我们想读文 ...

随机推荐

  1. Android平台上PMEM的使用及Platform设备注册(一)

    Android中PMEM驱动程序是物理内存的驱动程序,可用于分配物理内存.PMEM在camera和video系统中频繁使用.下面,简单记录一下PMEM的使用方法.另外,由于PMEM设备做为Platfo ...

  2. C++重载操作符operator

    operator是C++关键字,用于对C++进行扩展: 1.可以被重载的操作符:new,new[],delete,delete[],+,-,*,/,%,^,&,|,~,!,=,<,> ...

  3. 创建Cookie抛出异常:java.lang.IllegalArgumentException: Control character in cookie value

    调用Cookie对象的构造函数可以创建Cookie.Cookie对象的构造函数有两个字符串参数:Cookie名字和Cookie值.   名字和值都不能包含空白字符以及下列字符:[ ] ( ) < ...

  4. 课时48.表单标签-H5(了解)

    可以自动校验输入的内容是否符合邮箱的格式,我带大家随便看几个就行了,因为大部分浏览器对这几个特性有的支持,有的不支持,所以大家只要了解就好了   

  5. Knowledge Point 20180305 十进制转换成二进制浮点数

    如何将十进制的浮点数 转换二进制的浮点数,分为两部分: 1. 先将整数部分转换为二进制, 2. 将小数部分转换为二进制, 然后将整数部分与小数部分相加. 以 20.5 转换为例,20转换后变为1010 ...

  6. 剑指Offer_编程题之替换空格

    题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy.

  7. 关于js复制的那些事儿

    window.clipboardData的作用是在页面上将需要的东西复制到剪贴板上,提供了对于预定义的剪贴板格式的访问,以便在编辑操作中使用. 三个方法 (1)clearData(sDataForma ...

  8. [转]Javascript removeChild()删除节点及删除子节点的方法(同样适用于jq)

    Javascript removeChild()删除节点及删除子节点的方法 这篇文章主要介绍了Javascript removeChild()删除节点及删除子节点的方法的相关资料,需要的朋友可以参考下 ...

  9. 关于instanceof的使用

    测试单独一个类: <?php class A { } $a = new A(); if($a instanceof A){ echo "对象\$a实现了A类"; } 当一个子 ...

  10. python在lxml中使用XPath语法进行#数据解析

    在lxml中使用XPath语法: 获取所有li标签: from lxml import etree html = etree.parse('hello.html') print type(html) ...