IO---字节流

持久设备中存储数据都是以二进制的形式来存储的,java为我们提供了字节流来以字节的方式读取,或者以字节的方式向设备中写数据。
inputstream:字节输入流。outputstream:字节输出流。

字节输出流对象

查看api得知OutputStream类是字节输出流的超类。它定义了字节输出数据的基本功能。
使用java流对象操作持久设备上的数据就要让java程序与持久设备建立连接通道。然后提供java中提供的流对象来写数据,操作完之后一定要断开通道。
其中方法介绍:
close() 关闭Java程序和持久设备之间的连接
flush() 刷新,目的就是把Java程序中的数据刷到持久设备上。
write(byte[] b) 把b这个字节数组中的数据写到指定的持久设备上。
write(byte[] b, int off, int len) 把b字节数组中的数据,从off位置开始写,共计写出len个字节
write(int b) 调用一次这个方法,写出一个字节数据。
通过查找api得知OutputStream类是一个抽象类,想完成输出的一些功能可以使用它的子类FileOutputStream类


import java.io.FileOutputStream;
import java.io.IOException;

public class FileOutputStreamDemo {
    public static void main(String[] args) throws IOException {
        FileOutputStream fs = new FileOutputStream("e:/lishuais.java");
        fs.write(88);
        String s = "好好学习,天天向上";
        //使用字节流输出字符串要将字符串转化成字节类型的。
                byte[] b = s.getBytes();
        fs.write(b);
        fs.close();
    }
}

追加和换行功能:

由于每次创建同名的文件就会对旧文件覆盖,这里在创建FileOutputStream后根据文件后的boolean值来决定是否进行追加。

import java.io.FileOutputStream;
import java.io.IOException;

public class FileOutputStreamDemo {
    private static final String LINE_SEPARATOR = System.getProperty("line.separator");

    public static void main(String[] args) throws IOException {
        FileOutputStream fs = new FileOutputStream("e:/lishuais.java", true);
        String s = "这是追加的数据" + LINE_SEPARATOR;
        byte[] b = s.getBytes();
        fs.write(b);
        fs.close();
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • IO简单概述 IO解决问题 : 解决设备与设备之间的数据传输问题(硬盘 -> 内存 内存 -> 硬盘) 读和写文...
    奋斗的老王阅读 8,738评论 0 53
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,898评论 18 399
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 11,936评论 0 62
  • 标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流等等,java中将输入输出抽象称为流,就好...
    navy_legend阅读 4,030评论 0 0
  • 美食配美酒,是所有酒坛子吃货爱摆弄的事情。对于初涉酒坑的小白,写下这个标题的时候自己都吓到了。但既然2017都来了...
    吃饭皇后大阅读 1,371评论 0 1