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. C#中Lambda表达式类型Expression不接受lambda函数

    在EF Core中我们经常会用System.Linq.Expressions系统命名空间的Expression<TDelegate>类型来作为EF Core的查询条件,比如: using ...

  2. PL/SQL添加Oracle对象

    1.首先用system的身份进入数据库 2.找到user文件夹 3.右击新建用户 在“创建用户”窗口中,输入新用户的名称.口令,默认表空间.临时表空间等 4.赋予新用户权限,赋予其角色权限:conne ...

  3. 840. Magic Squares In Grid (5月27日)

    开头 这是每周比赛中的第一道题,博主试了好几次坑后才勉强做对了,第二道题写的差不多结果去试时结果比赛已经已经结束了(尴尬),所以今天只记录第一道题吧 题目原文 Magic Squares In Gri ...

  4. Dubbo 安装监控中心

    一.Dubbo 安装服务管理控制台 1.在官方Github下载Dubbo OPS 2.下载incubator-dubbo-ops源码后,解压修改配置文件Zookeeper注册中心地址 3.maven打 ...

  5. sublime text3配置python开发环境(windows版)

    安装阶段: sublime text3的安装: 下载网址:https://www.sublimetext.com/ 下载完成后 ,点击安装即可. 安装Package Control: 点击 Tools ...

  6. 关于document.write()加载JS等静态资源 和 异步async加载JS

    现流行浏览器对于静态资源的预加载 传统的浏览器,对于静态资源加载,会阻塞 HTML 解析器的线程进行,无论内联还是外链. 例如: <script src="test1.js" ...

  7. sql查询关于时间的一些汇总

    今天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=0 昨天的所有数据:select * from 表名 where ...

  8. font(字体)所使用的属性

    1.font-weight:normal blod bolder lighter  100-900之间 400=normal p:first-child{ padding-top: 50px; pos ...

  9. TCC : Tiny C Compiler (2018-2-6)

    饭墙下载,有缘上传: https://files.cnblogs.com/files/bhfdz/tcc-0.9.27-win32-bin.zip https://files.cnblogs.com/ ...

  10. 从Oracle导出数据并导入到Hive

    1.配置源和目标的数据连接 源(oracle): 目标(Hive 2.1.1),需要事先将hive的驱动程序导入HHDI的lib目录中. Hive2.1.1需要的jar包如下:可根据自身情况更换had ...