zoukankan      html  css  js  c++  java
  • IO基础

    一:IO流整体说明?

    用的是装饰模式,装饰模式有四个角色,分别是通用接口、本原、抽象装饰、具体装饰,因为是将本原聚合到了装饰中,所以可以将本原或装饰通过构造子注入到另一个装饰,多个装饰可以随意的组合,形成一个综合的功能对象。

    io流分为输入流及输出流,输入流是文件到内存,输出流是内存到文件。

    流分为低层流及高层流,在实例化高层流时必须通过构造子将低层流注入到高层流中。输入流通用的方法是read(),read(char[]),read(byte[]),readline

    输出流的通用方法是write(int),write(byte[]),write[char[]],print("string")

    当读取一个文件时,对于以字节/字节数组,字符/字符数组读取的结束条件是!=-1,对于以字符串读取的结束条件是!=null

    对于有缓存的输出时,要想写入到文件必须flushclose

    二:输入字节流的体系结构?

    输入字节流的体系结构:

    InputStream

    FileInputStream FilterInputStream

    ObjectInputStream DataInputStream BufferedInputStream

    实现代码:

    --读一个字节

    int temp=fis.read();

    while(temp!=-1)

    {

    System.out.print(temp);

    temp=fis.read();

    }

    --读一批字节

    byte[] bytes=new byte[1000];

    int result=fis.read(bytes);

    while(result!=-1)

    {

    String temp=new String(bytes,0,result);

    result=fis.read(bytes);

    }

    三:输出的字节流体系结构?

    输出的字节流的体系结构:

    OutputStream

    FileOutputStream FilterOutputStreame

    ObjectOutputStream BufferedOutputStream DataOutputStream  

    PrintStream

    实现代码:

    int temp;

    fis.write(temp);

    byte temps[]=new byte[1000];

    fos.write(temps);

    四:输入的字符流体系结构?

    输入的字符流的体系结构:

    Reader

    FileReader InputStreamReader(将字节流转化字符流)

    BufferedReader(有缓存)

    实现代码:

    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

    String temp=br.readLine();

    while(temp!=null)

    {

    temp=br.readLine();

    }

    五:输出的字符流体系结构?

    输出的字符流的体系结构:

    Writer

    FileWriter OutputStreamWriter

    BufferedWriter PrintWriter

    实现代码:

    fw.write(int)

    fw.write(char[])

    fw.write("string");

    六:PrintStreamBufferedWriterPrintWriter的比较?

    PrintStream:属于字节流,即可以打印字节也可以打印数组

    写入文件不用closeflush

    e.printStackTrace()System.out.println()都是它的实例。

    BufferedWriterPrintWriter:属于字符流,只可以打印字符或字符串

    因为有缓存,要想写入文件必须closeflush

  • 相关阅读:
    spring -项目功能介绍
    【HQL】分页查询 、对象导航查询、外置命名查询、连接查询、查询过滤器、统计查询
    【HQL】属性查询、条件查询
    【HQL】hibernate查询语言hql
    Hibernate- 表联系
    struts 配置过程 -一个计算器程序
    【DRP】-JSTL核心库 c:out标签
    .NET 使用sock5做代理(不是搭建服务端)
    重磅新闻!昨日阿里云发布首款云电脑“无影”,到底如何呢?
    C#如何实现获取电脑硬件相关的配置信息呢?
  • 原文地址:https://www.cnblogs.com/chenxuezhouLearnProgram/p/5693475.html
Copyright © 2011-2022 走看看