`

io概述

    博客分类:
  • java
阅读更多
//来源与  网上

一、IO流的三种分类方式
    1.按流的方向分为:输入流和输出流
    2.按流的数据单位不同分为:字节流和字符流
    3.按流的功能不同分为:节点流和处理流
二、IO流的四大抽象类:
    字符流:Reader Writer
    字节流:InputStream(读数据)
    OutputStream(写数据)
三、InputStream的基本方法
    int read() throws IOException 读取一个字节以整数形式返回,如果返回-1已到输入流的末尾
    void close() throws IOException 关闭流释放内存资源
    long skip(long n) throws IOException 跳过n个字节不读
四、OutputStream的基本方法
    void write(int b) throws IOException 向输出流写入一个字节数据
    void flush() throws IOException 将输出流中缓冲的数据全部写出到目的地
五、Writer的基本方法
    void write(int c) throws IOException 向输出流写入一个字符数据
    void write(String str) throws IOException将一个字符串中的字符写入到输出流
    void write(String str,int offset,int length)
    将一个字符串从offset开始的length个字符写入到输出流
    void flush() throws IOException
    将输出流中缓冲的数据全部写出到目的地
六、Reader的基本方法
    int read() throws IOException 读取一个字符以整数形式返回,如果返回-1已到输入流的末尾
七、节点流类型
八、访问文件之FileInputStream和FileOutputStream继承基类用于向文件中输入输出字节
九、访问文件之FileReader和FileWriter继承基类用于向文件中输入输出字符
----输出流在构造函数第二个参数可以设置true意义为跟在已有文件后进行输入
----此类流会抛出FileNotFoundException需要对其进行显示捕捉
十、缓冲流:缓冲流要套接在相应的节点流之上,提高了读写的效率。
    此处理流的构造方法都得传相对应的基类类型
    BufferedReader:提供了readLine方法用于高校读取一行字符串
    BufferedWriter:提供了newLine用于写入一个行分隔符也就是换行
    BufferedInputStream 没多大用处
    BufferedOutputStream 没多大用处
十一、转换流:主要作用将字节流转换成字符流。用处较大!
    转换流在构造时可以指定其编码集合
    InputStreamReader需要和InputStream套接
    OutputStreamWriter需要和OutputStream套接
    例:OutputStreamWriter osw = new OutputStreamWriter (new FileOutputStream(文件路径);
    方法例:osw.getEncoding(); 获得流的编码方式
十二、数据流与字节数组流:
    数据流主要为实现可以存取Java原始数据类型如long,boolean
    数据流是字节流
    DataInputStream需要和InputStream套接
    DataOutputStream需要和OutputStream套接
    DataInputStream方法:readBoolean() readInt() read……()……
    readUTF():网络传输常用方法 读一个Unicode字符串
    DataOutputStream方法与DataInputStream基本对应为写的方法
    //此构造函数等于已可以往一个字节数组里输入内容
    ByteArrayOutputStream baos = new ByteArrayOutputStream ();
    //此方法为获取一个字节数组方法返回字节数组
    baos.toByteArray();
    //此方法获取字节数组占了多少字节
    new ByteArrayInputStream(一个字节数组)。available()
ByteArrayOutputStream baos =
                        new ByteArrayOutputStream();
    DataOutputStream dos =
                        new DataOutputStream(baos);
    try {
      dos.writeDouble(Math.random());
      dos.writeBoolean(true);
       ByteArrayInputStream bais =
          new ByteArrayInputStream(baos.toByteArray());
      System.out.println(bais.available());
      DataInputStream dis = new DataInputStream(bais);
      System.out.println(dis.readDouble());
      System.out.println(dis.readBoolean());
      dos.close();  dis.close();
    } catch (IOException e) {
      e.printStackTrace();
    }

    十三、Print流
    Print流只有输出流无输入流,PrintWriter和PrintStream分别针对字符字节
    两个类提供了重载的Print和Println方法用于多种数据类型的输出
    PrintWriter和PrintStream的输出操作不会抛出异常
    PrintWriter和PrintStream有自动flush功能
    ----System.setOut(接收OutputStream类):用于设置系统默认输出流
十四、Object流
    等同于c#序列化,用直接将Object写入或读出
    transient关键字为不序列化此成员变量
    需要序列化的类必须实现Serializable接口
    主要方法:writeObject(Object); readObject();
    读出为Object类型需要强转数据类型
import java.io.*;
  public class TestObjectIO {
      public static void main(String args[]) throws Exception {
         T t = new T();
         t.k = 8;
         FileOutputStream fos = new FileOutputStream("d:/share/java/io/testobjectio.dat");
         ObjectOutputStream oos = new ObjectOutputStream(fos);
         oos.writeObject(t);
         oos.flush();
         oos.close();
        
         FileInputStream fis = new FileInputStream("d:/share/java/io/testobjectio.dat");
         ObjectInputStream ois = new ObjectInputStream(fis);
         T tReaded = (T)ois.readObject();
         System.out.println(tReaded.i + " " + tReaded.j + " " + tReaded.d + " " + tReaded.k);
        
    }
}

class T
     implements Serializable
{
     int i = 10;
     int j = 9;
     double d = 2.3;
     transient int k = 15;
}
分享到:
评论

相关推荐

    RapidIO概述:何为RapidIO?它如何解决我的系统问题?.pdf

    ### RapidIO概述与关键技术知识点 #### 一、RapidIO技术简介 RapidIO是一种高性能的系统互连标准,主要用于嵌入式处理器、数字信号处理器(DSP)和网络处理器(NPU)之间的通信。该技术由RapidIO贸易协会制定并...

    Rapid IO概述_C51_

    RapidIO是由Motorola和Mercury等公司率先倡导的一种高性能、 低引脚数、 基于数据包交换的互连体系结构,是为满足和未来高性能嵌入式系统需求而设计的一种开放式互连技术标准。RapidIO主要应用于嵌入式系统内部互连...

    RapidIO 2.2 Specification

    1. **RapidIO概述**:RapidIO最初设计用于替代传统的PCI总线,以适应日益增长的嵌入式系统需求,特别是对于实时处理和高带宽应用的需求。它采用了分层协议结构,包括物理层、数据链路层、网络层以及传输层,这使得...

    RapidIO Embedded System Interconnect

    #### 一、RapidIO概述 RapidIO是一种高速互连协议标准,特别适用于高性能嵌入式系统的内部通信与数据交换。它被设计用来支持GHz级别的数据传输速率,从而满足了对实时性、可靠性和效率有着极高要求的应用场景。该...

    commons-io-2.7-bin.zip

    1. **Apache Commons IO概述** - Apache Commons IO 是Apache软件基金会的一个项目,旨在提供一些基础的I/O(输入/输出)工具,弥补Java标准库中的不足。 - 这个库的目的是为Java开发人员提供一套全面、易用的API...

    RocketIO的使用方法

    #### 一、RocketIO概述 RocketIO是Xilinx公司推出的高速串行收发器技术,广泛应用于Xilinx的各种FPGA产品中。它支持多种高速通信标准,如PCI Express、SATA、SerDes等,并且具有高度可配置性和灵活性。RocketIO的...

    RapidIO标准

    #### 一、RapidIO概述 **RapidIO**是一种高性能、低延迟的互连技术标准,主要用于嵌入式系统、通信系统以及计算密集型应用领域,如数字信号处理(DSP)设备、高级电信计算架构(ATCA)板卡等。RapidIO规范由RapidIO...

    C++标准IO文档

    #### 一、C++标准IO概述 C++标准库提供了丰富的输入输出(IO)功能,这些功能通过一系列面向对象的API实现,支持对各种设备如控制台、文件等的读写操作。这些API还包括一些特殊类型,允许字符串对象像文件一样被...

    关于RapidIO的基本介绍,适合初学者

    **串行RapidIO概述** 串行RapidIO是一种针对高性能嵌入式系统设计的高速芯片间和板间互连技术。它旨在提供比传统互连技术如处理器总线、PCI总线和以太网更高的带宽、更低的成本、更大的灵活性和更高的可靠性。随着...

    commons-io-2.4.jar包

    一、Apache Commons IO概述 Apache Commons IO库包含了大量与Java IO相关的实用工具类,覆盖了文件、流、过滤器、转换器、字符集、缓冲区等多个方面。这些工具类设计简洁,易于理解和使用,旨在提高开发效率,降低...

    ATEQ F6-IO说明

    ### ATEQ F6-IO概述 ATEQ F6-IO是一款用于特定应用场合的设备,其主要功能是提供灵活的I/O接口选项,支持多种通信协议,适用于自动化控制领域的多个场景。该设备通过不同的接口设计来满足不同类型的传感器和执行器...

    RapidIO-Specification-4.0

    ### 一、RapidIO概述 **RapidIO**是一种高性能、低延迟的互连技术标准,主要用于嵌入式系统和高性能计算环境中的处理器、存储器和其他设备之间的通信。RapidIO旨在提供一个统一的数据传输框架,简化了硬件设计并...

    IO模型介绍

    #### 一、IO概述 **IO**,即输入(Input)与输出(Output),是计算机系统中数据交互的基础。数据通过IO类库在内部表示与外部表示之间进行转换,这一过程涉及多种步骤和技术。 #### 二、内部表示与外部表示 - **内部...

    engine.io.pdf

    ### Engine.IO概述与核心特性 #### 一、Engine.IO简介 Engine.IO是一个强大的库,用于实现基于传输的跨浏览器/跨设备的双向通信层,它作为Socket.IO的基础组件,为实时应用提供了高度灵活且可扩展的数据交换机制。...

    Java IO

    ### Java IO概述 Java IO(输入/输出)是Java编程语言中用于处理各种形式的数据传输的核心部分。它涉及从文件系统、网络等不同资源中读取数据或将数据写入这些资源的过程。Java IO的设计采用了面向对象的方法,通过...

    commons-io.zip

    1. **Apache Commons IO概述** Apache Commons IO 包含了一系列与Java I/O相关的实用工具类,涵盖了文件操作、流操作、数据转换、字符集处理等方面。它提供了一些高级功能,如文件比较、文件过滤、读写缓冲区、对象...

    IO总结处理

    ### 一、Java IO概述 Java IO(Input/Output)是Java平台提供的用于实现输入输出操作的标准API,它提供了丰富的类来处理各种输入输出操作。Java IO主要包括两大类:`InputStream`和`OutputStream`,以及它们的派生...

    【高速接口-RapidIO】系列文档1-6.docx

    ### RapidIO概述与关键技术知识点 #### 一、RapidIO简介 RapidIO是一种高性能、低引脚数、基于数据包交换的互连体系结构,主要用于满足高性能嵌入式系统的需求。它是一种开放式的互连技术标准,适用于芯片到芯片、...

Global site tag (gtag.js) - Google Analytics