首页 文章详情

DataInputStream、DataOutputStream、PrintStream类

Java进阶学习交流 | 247 2021-11-12 19:18 0 0 0
UniSMS (合一短信)
点击上方“Java进阶学习交流”,进行关注

后台回复“Java”即可获赠Java学习资料

绿蚁新醅酒,红泥小火炉。

大家好,我是Java进阶者。

前言

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


一、DataInputStream类

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

2.DataInputStream类构造方法:

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

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

《该图片引用菜鸟教程》

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

import java.io.*;public class P19 {public static void main(String[] args) throws Exception {        // TODO Auto-generated method stub        FileInputStream fs=new FileInputStream("text/test01");        BufferedInputStream bs=new BufferedInputStream(fs);        DataInputStream ds=new DataInputStream(bs);        //读一个int类型        System.out.println(ds.readInt());        //读一个byte类型        System.out.println(ds.readByte());        //读一个char类型        System.out.println(ds.readChar());        //读一个double类型        System.out.println(ds.readDouble());        //读一个boolean类型        System.out.println(ds.readBoolean());        //写一个转换成UTF-8的字符串        System.out.println(ds.readUTF());        //关闭流        ds.close();  }}

运行的结果如下图所示:


二、DataOutputStream类

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

2.DataOutputStream类的构造方法:

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

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

《该图片引用菜鸟教程》

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

import java.io.*;public class P20 {public static void main(String[] args) throws Exception {        // TODO Auto-generated method stub        FileOutputStream fos=new FileOutputStream("text/test01");        BufferedOutputStream bos=new BufferedOutputStream(fos);        DataOutputStream dos=new DataOutputStream(bos);        //写一个int类型        dos.writeInt(100);        //写一个byte类型        dos.writeByte(20);        //写一个char类型        dos.writeChar('a');        //写一个double类型        dos.writeDouble(3.15151777);        //写一个boolean类型        dos.writeBoolean(true);        //写一个转换成UTF-8的字符串        dos.writeUTF("Hello JAVA!");        //关闭流        dos.close();  }}

运行的结果如下图所示:

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


三、PrintStream类

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

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

import java.io.*;class Dog{//重写toString()方法public String toString(){        return "一只小狗汪汪汪";}}public class P21 {public static void main(String[] args) throws Exception {//创建FileOutputStream对象FileOutputStream fos=new FileOutputStream("text/test01");//创建PrintStream对象PrintStream ps=new PrintStream(fos);//创建Dog对象        Dog d=new Dog();        ps.println("狗的年龄为:"+19);        ps.println(d);  }}

运行的结果如下图所示:


四、总结

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

    我是Java进阶者,希望大家通过本文的学习,对你有所帮助!欢迎大家加我微信,有问题可以随时帮大家解决噢,交个朋友也好哇~

------------------- End -------------------

往期精彩文章推荐:

欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持

想加入Java学习群请在后台回复【入群

万水千山总是情,点个【在看】行不行

good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter