一篇学会DataInputStream、DataOutputStream、PrintStream类

存储 存储设备
本文主要学习DataInputStream、DataOutputStream、PrintStream类。通过IO流存储对象,有时候我们并不需要存储整个对象的信息,只要存储对象的成员数据。

[[434492]]

大家好,我是Java进阶者。

前言

本文主要学习DataInputStream、DataOutputStream、PrintStream类。通过IO流存储对象,有时候我们并不需要存储整个对象的信息,只要存储对象的成员数据。这时候就不用ObjectInputStream和ObjectOutputStream的流。PrintStream是打印输出流。接下来小编带大家一起来学习!

一、DataInputStream类

1.DataInputStream类是数据输入流它和机器无关的操作数据流,读取Java原始的数据。读取一个数值就不必要知道这个数值的多少字节的。

2.DataInputStream类构造方法:

public DataInputStream(InputStream in):创建指定的数据输入流读取DataInputStream。in参数表示指定的输入流

3.DataInputStream类方法如下图所示:

《该图片引用菜鸟教程》

4.DataInputStream类方法的例子实现:

  1. import java.io.*; 
  2. public class P19 { 
  3. public static void main(String[] args) throws Exception { 
  4.         // TODO Auto-generated method stub 
  5.         FileInputStream fs=new FileInputStream("text/test01"); 
  6.         BufferedInputStream bs=new BufferedInputStream(fs); 
  7.         DataInputStream ds=new DataInputStream(bs); 
  8.         //读一个int类型 
  9.         System.out.println(ds.readInt()); 
  10.         //读一个byte类型 
  11.         System.out.println(ds.readByte()); 
  12.         //读一个char类型 
  13.         System.out.println(ds.readChar()); 
  14.         //读一个double类型 
  15.         System.out.println(ds.readDouble()); 
  16.         //读一个boolean类型 
  17.         System.out.println(ds.readBoolean()); 
  18.         //写一个转换成UTF-8的字符串 
  19.         System.out.println(ds.readUTF()); 
  20.         //关闭流 
  21.         ds.close(); 
  22.   } 

运行的结果如下图所示:

二、DataOutputStream类

1.DataOutputStream类是数据输出流它和机器无关的操作数据流,读取Java原始的数据。

2.DataOutputStream类的构造方法:

public DataOutputStream(OutputStream out):创建指定的数据输出流写入DataInputStream。out参数表示指定的输出流

3.DataOutputStream类方法如下图所示:

《该图片引用菜鸟教程》

4.DataOutputStream类方法的例子实现:

  1. import java.io.*; 
  2. public class P20 { 
  3. public static void main(String[] args) throws Exception { 
  4.         // TODO Auto-generated method stub 
  5.         FileOutputStream fos=new FileOutputStream("text/test01"); 
  6.         BufferedOutputStream bos=new BufferedOutputStream(fos); 
  7.         DataOutputStream dos=new DataOutputStream(bos); 
  8.         //写一个int类型 
  9.         dos.writeInt(100); 
  10.         //写一个byte类型 
  11.         dos.writeByte(20); 
  12.         //写一个char类型 
  13.         dos.writeChar('a'); 
  14.         //写一个double类型 
  15.         dos.writeDouble(3.15151777); 
  16.         //写一个boolean类型 
  17.         dos.writeBoolean(true); 
  18.         //写一个转换成UTF-8的字符串 
  19.         dos.writeUTF("Hello JAVA!"); 
  20.         //关闭流 
  21.         dos.close(); 
  22.   } 

运行的结果如下图所示:

上面的运行的结果出现了乱码是因为各种数据类型是以二进制形式输出,用户是没有办法查看的,可以通过DataInputStream这个类来读取数据!

三、PrintStream类

1.PrintStream类是打印输出流,它是继承FilterOutputStream类。PrintStream可以把基本数据类型的数据或者引用的数据类型的对象格式化成字符串后在输出。

2.使用PrintStream类用法例子的实现:

  1. import java.io.*; 
  2. class Dog{ 
  3. //重写toString()方法 
  4. public String toString(){ 
  5.         return "一只小狗汪汪汪"
  6. public class P21 { 
  7. public static void main(String[] args) throws Exception { 
  8. //创建FileOutputStream对象 
  9. FileOutputStream fos=new FileOutputStream("text/test01"); 
  10. //创建PrintStream对象 
  11. PrintStream ps=new PrintStream(fos); 
  12. //创建Dog对象 
  13.         Dog d=new Dog(); 
  14.         ps.println("狗的年龄为:"+19); 
  15.         ps.println(d); 
  16.   } 

运行的结果如下图所示:

四、总结 

本文主要介绍了DataInputStream类、DataOutputStream类、PrintStream类。DataInputStream类是数据输入流它和机器无关的操作数据流,读取Java原始的数据。DataInputStream介绍它的构造方法和方法,DataOutputStream类方法的例子实现。DataOutputStream类是数据输出流它和机器无关的操作数据流,读取Java原始的数据。DataOutputStream介绍它的构造方法和方法,DataOutputStream类方法的例子实现。PrintStream可以把基本数据类型的数据或者引用的数据类型的对象格式化成字符串后在输出。希望大家通过本文的学习,对你有所帮助!

 

责任编辑:武晓燕 来源: Java进阶学习交流
相关推荐

2022-01-02 08:43:46

Python

2022-02-07 11:01:23

ZooKeeper

2021-07-06 08:59:18

抽象工厂模式

2021-05-11 08:54:59

建造者模式设计

2021-07-02 09:45:29

MySQL InnoDB数据

2022-08-26 09:29:01

Kubernetes策略Master

2023-01-03 08:31:54

Spring读取器配置

2021-07-05 22:11:38

MySQL体系架构

2023-11-28 08:29:31

Rust内存布局

2022-08-23 08:00:59

磁盘性能网络

2022-04-12 08:30:52

回调函数代码调试

2021-10-27 09:59:35

存储

2021-07-02 08:51:29

源码参数Thread

2023-03-13 21:38:08

TCP数据IP地址

2021-09-28 08:59:30

复原IP地址

2021-07-16 22:43:10

Go并发Golang

2021-10-14 10:22:19

逃逸JVM性能

2021-04-29 10:18:18

循环依赖数组

2022-03-11 10:21:30

IO系统日志

2023-11-01 09:07:01

Spring装配源码
点赞
收藏

51CTO技术栈公众号