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. Google File System设计方面的问题汇总

    1.Google File System概述 google file system是一个分布式文件系统,针对的是数据密集型应用,提供容错功能,运行在低廉的服务器上,同时给大量的用户提供高性能服务.尽管 ...

  2. 第四模块MySQL50题作业,以及由作业引申出来的一些高端玩法

    一.表关系 先参照如下表结构创建7张表格,并创建相关约束                 班级表:class       学生表:student       cid caption grade_id ...

  3. mysql 8.0.12安装步骤

    首先从官网下载压缩包: 解压压缩包到指定目录,在目录下新建my.ini,配置内容如下; [mysqld]  # 设置3306端口  port=3306  # 设置mysql的安装目录  basedir ...

  4. linux 学习第七天

    一.bash 使用(for循环.while循环) 1.1.批量添加用户 1.2.查看用户是否存在 A.cut -d : -f 1 /etc/passwd B.id dream  (id 用户名称) C ...

  5. jQuery获取Select option 选择的Text和 Value

    获取一组radio被选中项的值:var item = $('input[name=items][checked]').val();获取select被选中项的文本var item = $("s ...

  6. Asp.Net Core链接Mysql数据库

    一.新建一个Asp.Net Core WebMVC程序 添加nuget包  Mysql.Data 二.新建一个UserContext类 下面代码中的UserInfo是我自己建的一个实体,里面有俩字段: ...

  7. ueditor 富文本编辑器 Uncaught TypeError: Cannot set property 'innerHTML' of undefined问题

    ueditor.addListener("ready", function () { ueditor.setContent(‘内容'); });

  8. Ubuntu中 MySQL 的中文编码问题

    使用Ubuntu在安装好MySQL数据库之后,如果直接创建数据库,再创建数据表,那么是无法向字段插入中文的,会报Incorrect string value错误. c实现编码设置的两种方法: (1)动 ...

  9. HDFS重要特性

    首先,它是一个文件系统,用于存储文件,通过统一的命名空间目录树来定位文件: 其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色. 1. master/slave 架构 HD ...

  10. Spark运行模式_基于YARN的Resource Manager的Client模式(集群)

    现在越来越多的场景,都是Spark跑在Hadoop集群中,所以为了做到资源能够均衡调度,会使用YARN来做为Spark的Cluster Manager,来为Spark的应用程序分配资源. 在执行Spa ...