第13章 IO流

117 篇文章 0 订阅
116 篇文章 0 订阅

13.2.7 打印流

  1. 实现将基本数据类型的数据格式转化为字符串输出
  2. 打印流:PrintStreamPrintWriter
    • 提供了一系列重载的print和println方法,用于多种数据类型的输出
    • PrintStream和PrintWriter的输出不会抛出异常
    • PrintStream和PrintWriter有自动flush功能
    • System.out返回的是PrintStream的实例

 

FileOutputStream fos = null;

              try {

                     fos = new FileOutputStream(new File("D:\\IO\\text.txt"));

              } catch (FileNotFoundException e) {

                     e.printStackTrace();

              } // 创建打印输出流,设置为自动刷新模式(写入换行符或字节 '\n' 时都会刷新输出缓冲区)

              PrintStream ps = new PrintStream(fos, true);

              if (ps != null) { // 把标准输出流(控制台输出)改成文件

                     System.setOut(ps);

              }

              for (int i = 0; i <= 255; i++) { // 输出ASCII字符

                     System.out.print((char) i);

                     if (i % 50 == 0) { // 每50个数据一行

                            System.out.println(); // 换行

                     }

              }

              ps.close();

 

13.2.8 数据流

  1. 为了方便地操作Java语言的基本数据类型的数据,可以使用数据流。
  2. 数据流有两个类:(用于读取和写出基本数据类型的数据)
    • DataInputStream 和 DataOutputStream
    • 分别“套接”在 InputStream 和 OutputStream 节点流上
  3. DataInputStream中的方法

     boolean readBoolean()      byte readByte()

     char readChar()            float readFloat()

     double readDouble()        short readShort()

     long readLong()            int readInt()

     String readUTF()           void readFully(byte[] b)

  1. DataOutputStream中的方法

将上述的方法的read改为相应的write即可。

 

DataOutputStream dos = null;

        try { // 创建连接到指定文件的数据输出流对象

            dos=newDataOutputStream(new FileOutputStream("d:\\IOTest\\destData.dat"));

            dos.writeUTF("ab中国"); // 写UTF字符串

            dos.writeBoolean(false); // 写入布尔值

            dos.writeLong(1234567890L); // 写入长整数

            System.out.println("写文件成功!");

        } catch (IOException e) {

            e.printStackTrace();

        } finally { // 关闭流对象

            try {

                if (dos != null) {

                    // 关闭过滤流时,会自动关闭它包装的底层节点流

                    dos.close();

                }

            } catch (IOException e) {

                e.printStackTrace();

            }

        }

 

 

本教程由尚硅谷教育大数据研究院出品,如需转载请注明来源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值