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中OpenMax的实现【2】AwesomePlayer中openmax的入口

    AwesomePlayer 中有个变量 OMXClient mClient; 让我们看看   OMXClient class OMXClient { public: OMXClient(); stat ...

  2. STM32之FSMC

    FSMC全称“静态存储器控制器”. 使用FSMC控制器后,可以把FSMC提供的FSMC_A[25:0]作为地址线,而把FSMC提供的FSMC_D[15:0]作为数据总线. (1)当存储数据设为8位时, ...

  3. Python开发工具之Sublime Text 3基于文件创建项目

    说明: 本地windows系统 本地已安装Sublime Text 3; 本地已创建python项目文件,如test,并在该文件夹下创建了虚拟环境venv(test/venv). 1.创建项目 依次鼠 ...

  4. unittest单元测试框架之unittest 框架的总结(七)

    1. Unittest 是 python 自带的单元测试框架,可以用其作为自动化框架来组织测试用例(测 试用例的执行顺序)的执行. 2. Unittest 框架的流程: 写好 TestCase 通过 ...

  5. Unity 游戏框架搭建 (十六) v0.0.1 架构调整

    背景: 前段时间用Xamarin.OSX开发一些工具,遇到了两个问题. QFramework的大部分的类耦合了Unity的API,这样导致不能在其他CLR平台使用QFramework. QFramew ...

  6. Haroopad 中文不显示

    https://blog.csdn.net/zgf19930504/article/details/51508111 1. 选择文件--> 偏好设置 2. 选择 编辑器--> 编辑--&g ...

  7. 用java集合模拟登录和注册功能

    package com.linkage.login; import java.util.HashMap;import java.util.Iterator;import java.util.Map;i ...

  8. 在SQL Server中批量修改有规律列的定义

    )=N'要修改的表名'; --修改所有以sl结尾的列名的小数位数为4位 select syscolumns.name into #t1 from syscolumns,systypes where s ...

  9. 01-http简介-四层 七层 三次握手

    HTTP简介.请求方法与响应状态码 接下来想系统的回顾一下TCP/IP协议族的相关东西,当然这些东西大部分是在大学的时候学过的,但是那句话,基础的东西还是要不时的回顾回顾的.接下来的几篇博客都是关于T ...

  10. 使用Scala开发Apache Kafka的TOP 20大好用实践

    本文作者是一位软件工程师,他对20位开发人员和数据科学家使用Apache Kafka的方式进行了最大限度得深入研究,最终将生产实践环节需要注意的问题总结为本文所列的20条建议. Apache Kafk ...