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. 去掉Win7资源管理器左侧不需要的项目

    通过修改注册表去掉win7资源管理器左侧你不喜欢的项目: 1,打开注册表WIN+R, 输入:regedit 2,找到HKEY_CLASSES_ROOT \ CLSID \, 再找到对应项, 其包含一个 ...

  2. Oracle死锁一例(ORA-00060),锁表导致的业务死锁问题

    1.问题发现 检查客户数据库的时候发现存在大量死锁的情况 Thread advanced to log sequence (LGWR switch) Current log# mem# : /orad ...

  3. Swift_枚举

    Swift_枚举 点击查看源码 空枚举 //空枚举 enum SomeEnumeration { // enumeration definition goes here } 枚举基本类型 //枚举基本 ...

  4. Jquery与js简单对比

    //Javascript window.onload=function () { var oBtn=document.getElementById('btn1'); oBtn.onclick=func ...

  5. 【LightOJ 1081】Square Queries(二维RMQ降维)

    Little Tommy is playing a game. The game is played on a 2D N x N grid. There is an integer in each c ...

  6. linux 安装 node 环境

    本篇学习的分享主要说在linux 安装 node 环境,个人也是在腾讯云的实验室课程学习的,这里只是个人的一个学习记录, 大家也可以去腾讯的实验室来体验一下,教程十分详细易学. 1 .安装 Node. ...

  7. TeamViewer13个人版使用中提示为商用版导致无法使用

    前言:由于使用teamviewer个人免费版较频繁,被软件识别到不能再继续免费使用,无奈没有多余的资金进行购买正版软件, 通过鼓捣得到如下继续免费使用方案,整理下来以备不时之需,也可以被有同此困惑的朋 ...

  8. es6 Proxy对象详解

    Proxy用于修改某些操作的默认行为,也可以理解为在目标对象之前架设一层拦截,外部所有的访问都必须先通过这层拦截,因此提供了一种机制,可以对外部的访问进行过滤和修改.这个词的原理为代理,在这里可以表示 ...

  9. mysql 导出行数据到txt文件,指定字符分割

    select id,name, concat('tel:',phone) from user order by time INTO outfile 'user.txt' FIELDS terminat ...

  10. PAT A1127 ZigZagging on a Tree (30 分)

    Suppose that all the keys in a binary tree are distinct positive integers. A unique binary tree can ...