`
wang_zhi_peng2007
  • 浏览: 251281 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java常用类解析三:IO系统装饰类

 
阅读更多

java IO系统采用装饰器模式,用一些装饰类来装饰输入输出来,提供更强大的IO操作

FilterInputStream(FilterOutputStream)继承自InputStream(Outputstream)

 常用装饰类(都继承自FilterInputStream)               功能

DataInputStream(DataOutputStream)                 读写基本类型即UTF

BufferedInputStream(BufferedOutputStream)      使用缓冲区

PrintStream继承自Outputstream,用于格式化输出到文本或控制台等

 

示例:

import java.io.BufferedInputStream;  
import java.io.BufferedOutputStream;  
import java.io.DataInputStream;  
import java.io.DataOutputStream;  
import java.io.FileInputStream;  
import java.io.FileNotFoundException;  
import java.io.FileOutputStream;  
import java.io.IOException;  
  
/* 
 * DataInputStream继承自FilterInputStream(FilterInputStream继承自InputStream) 
 * 用来装饰InputStream,提供可移植方式从流读取基本数据类型 
 * DataOutputStream继承自FilterOutputStream(FilterOutputStream继承自OutputStream) 
 * 用来装饰OutputStream,提供可移植方式向流写入基本数据类型 
 * DataInputStream/DataOutputStream可以实现数据的存储与恢复 
 */  
public class DataInputStreamDemo {  
    public static void main(String[] args) {  
        DataOutputStream dataOutStream = null;  
        try {  
            dataOutStream = new DataOutputStream(new BufferedOutputStream(  
                    new FileOutputStream("file/aa.data")));  
        } catch (FileNotFoundException e) {  
            // TODO Auto-generated catch block   
            e.printStackTrace();  
        }  
        try {// 写入文件   
            dataOutStream.writeChar('a');  
            dataOutStream.writeInt(3);  
            dataOutStream.writeDouble(5.5);  
            dataOutStream.writeFloat(3.2f);  
            dataOutStream.writeUTF("nihaoma");  
            dataOutStream.close();  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
          
        DataInputStream dataInputStream = null;  
        try {  
            dataInputStream = new DataInputStream(new BufferedInputStream(  
                    new FileInputStream("file/aa.data")));  
        } catch (FileNotFoundException e) {  
            e.printStackTrace();  
        }  
        try {// 读取文件   
            System.out.println(dataInputStream.readChar());  
            System.out.println(dataInputStream.readInt());  
            System.out.println(dataInputStream.readDouble());  
            System.out.println(dataInputStream.readFloat());  
            System.out.println(dataInputStream.readUTF());  
            dataInputStream.close();  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
    }  
}  

 

import java.io.FileNotFoundException;  
import java.io.PrintStream;  
  
/* 
 * 继承自FilterOutputStream,其中DataOutputStream处理数据的存储,PrintStream处理显示 
 * 用于格式化打印 
 */  
public class PrintStreamDemo {  
    public static void main(String[] args) throws FileNotFoundException {  
        // 把数据可视化格式显示到文本文件中   
        PrintStream printStream = new PrintStream("file/test2.txt");  
        printStream.println('a');  
        printStream.println(2);  
        printStream.println(3.2);  
        printStream.println("liuhaifang");  
        printStream.println("刘海房");  
        // 可视化显示到控制台   
        printStream = new PrintStream(System.out);  
        printStream.println("hello  java");  
    }  
}  

 

 

 

分享到:
评论

相关推荐

    java常用类解析及示例及一些工具类源代码

    主要讲解了System类、Object类、Arrays类、Cloneable接口、IO系统输入输出类及装饰类、IO系统文本读写工具类、IO系统二进制读写工具类、对象序列化工具类、File类及文件搜索工具类、java异常机制及自定义异常类、...

    Java_IO完全总结

    ### Java IO系统全面解析 #### 一、Java IO系统概述 Java IO系统是Java平台标准库中的一个重要组成部分,主要用于处理输入输出操作。Java IO系统主要包括两个包:`java.io`和`java.nio`(New IO),其中`java.io`...

    javaIO详细讲解+详细案例

    Java IO流体系中,有几个核心的抽象基类,包括`InputStream`和`OutputStream`,它们是所有其他具体输入输出流类的基类。此外,还有`Reader`和`Writer`作为字符流的基类。 1. **输入字节流** `InputStream`: - **...

    更新至2020年12月最全Java 面试全解析:核心知识点与典型面试题.rar

    Java是一种广泛使用的面向对象的编程语言,自1995年发布以来,它在软件开发...此外,还需关注Java新版本的特性,如Java 8的Lambda表达式、Optional类,Java 11的模块化系统等,这些都是现代Java开发者应该具备的知识。

    java IO流精讲 JAVA IO流实例开发

    在Java IO库中,存在一对“装饰器”流,即BufferedInputStream和BufferedReader。它们提供缓冲功能,可以显著提高数据读写的效率。例如,使用BufferedReader.read()方法可以一次性读取一行文本,而不是一个字符一个...

    Java编程模式与范例:基础开发技巧

    例如,单例模式、工厂模式、观察者模式、装饰器模式等,都是Java开发中常见的设计模式,它们在代码组织和模块化方面起着关键作用。 - **架构模式**:如MVC(模型-视图-控制器)、MVVM(模型-视图-ViewModel)以及...

    【面试必备】JAVA 最常见面试题全解析 附 PDF.pdf_java面试_javapdf_java_面试题_

    这份"【面试必备】JAVA 最常见面试题全解析 附 PDF"文档,正是为准备Java面试的开发者量身定制的资源,涵盖了Java的基础到高级知识点,旨在帮助你全面理解和掌握Java技术。 一、基础篇 1. Java语法:包括变量、数据...

    JAVA课件Java IO.ppt

    本课件将详细介绍Java I/O流的基本概念、分类以及常用类。 首先,Java I/O的核心概念是“流”(Stream)。流可以被视为数据的流动通道,它可以从数据源(DataSource)读取信息到程序(Program),也可以将程序中的...

    JAVA IO流详解

    Java IO流主要分为两大类: 1. **InputStream/OutputStream**:主要用于处理字节数据。 - `InputStream`:输入流,用于从外部设备读取数据。 - `OutputStream`:输出流,用于向外部设备写入数据。 2. **Reader/...

    传智播客_Java培训_毕向东_Java基础[07-IO]

    #### 三、IO流的常用基类 1. **字节流:** - 抽象基类:`InputStream`和`OutputStream`。 - 子类示例:`FileInputStream`用于读取文件中的数据;`FileOutputStream`用于写入数据到文件。 2. **字符流:** - ...

    java IO应用

    流在Java IO中分为两大类:字符流和字节流。字符流处理的是Unicode字符,适合文本数据,包括Reader和Writer抽象类;字节流处理的是8位字节,适用于所有类型的数据,如图片、音频等,包括InputStream和OutputStream...

    【电子版】Java校招面试题库(附答案与解析)java篇.zip

    - 接口与抽象类:区分两者的使用场景,理解默认方法和静态方法。 - 注解(Annotation):学习注解的定义、使用及元注解。 3. **集合框架** - List、Set、Map接口:了解各种实现类,如ArrayList、LinkedList、...

    一站式学习Java网络编程 全面理解BIO:NIO:AIO1

    FilterReader 和 FilterInputStream 是 java.io 中的装饰器模式,提供了流的装饰功能,可以在基本流上添加新的功能。 四、java.io 之字节流 字节流是 java.io 中的基本流类型,用于处理二进制数据。字节流包括 ...

    Java 最常见 200+ 面试题全解析:面试必备208题

    Java作为一门广泛使用的编程语言,其面试题涵盖了众多的知识领域,包括基础语法、面向对象、集合框架、多线程、网络编程、IO流、异常处理、JVM内存模型、设计模式、数据库操作、Spring框架等。以下是对这些知识点的...

    Java编程技巧典型案例解析

    《Java编程技巧典型案例解析》一书聚焦于这些关键技巧,通过24个精心挑选的源代码案例,深入浅出地展示了Java编程中的精华所在。以下是根据标题、描述以及压缩包子文件的文件名称列表,提炼出的一些核心Java编程知识...

Global site tag (gtag.js) - Google Analytics