zoukankan      html  css  js  c++  java
  • AJPFX总结I/O流操作(一)

    在软件开发中,数据流和数据库操作占据了一个很重要的位置,所以,熟悉操作数据流和数据库,对于每一个开发者来说都是很重要的,今天就来总结一下I/O,数据库操作

    一:从数据流开始

    首先先有一个结构图看一下整个数据流中的API结构和对象继承关系信息:


    其他常用与流有关的对象:


    首先从字符流开始

    1、字符流的由来:

        因为文件编码的不同,而有了对字符进行高效操作的字符流对象。

        原理:其实就是基于字节流读取字节时,去查了指定的码表。

    字节流和字符流的区别:

    1,字节流读取的时候,读到一个字节就返回一个字节。字符流使用了字节流读到一个或多个字节(中文对应的字节数是两个,UTF-8码表中是3个字节)时。先去查指定的编码表,将查到的字符返回。

    2,字节流可以处理所有类型数据,如图片,mp3,avi。而字符流只能处理字符数据。

    结论:只要是处理纯文本数据,就要优先考虑使用字符流。除此之外都用

    节流。

    基本的读写操作方式:

    因为数据通常都以文件形式存在。

    所以就要找到IO体系中可以用于操作文件的流对象。

    通过名称可以更容易获取该对象。

    因为IO体系中的子类名后缀绝大部分是父类名称。而前缀都是体现子类功能的名字。

    Reader

       |--InputStreamReader

                |--FileReader:专门用于处理文件的字符读取流对象。

    Writer

        |--OutputStreamWriter

                      |--FileWriter:专门用于处理文件的字符写入流对象。

    Reader中的常见的方法:

    1,int read():读取一个字符。返回的是读到的那个字符。如果读到流的末尾,返回-1.

    2,int read(char[]):将读到的字符存入指定的数组中,返回的是读到的字符个数,也就是往数组里装的元素的个数。如果读到流的末尾,返回-1.

    3,close():读取字符其实用的是window系统的功能,就希望使用完毕后,进行资源的释放

    Writer中的常见的方法:

    1,write(ch): 将一个字符写入到流中。

    2,write(char[]): 将一个字符数组写入到流中。

    3,write(String): 将一个字符串写入到流中。

    4,flush():刷新流,将流中的数据刷新到目的地中,流还存在。

    5,close():关闭资源:在关闭前会先调用flush(),刷新流中的数据去目的地。然流关闭。

  • 相关阅读:
    LINUX的LAMP环境搭配
    Jquery添加元素append及阻止表单提交submit
    django上传文件
    Html5本地存储LocalStorage
    Html5离线缓存详细讲解
    html5的canvas绘制迷宫地图
    EXT.NET复杂布局(二)——报表
    Silverlight——施工计划日报表(一)
    Silverlight——施工计划日报表(二)
    前端学HTTP之网络基础
  • 原文地址:https://www.cnblogs.com/AJPFX/p/10876012.html
Copyright © 2011-2022 走看看