美文网首页
IO---字节流

IO---字节流

作者: 李霖神谷 | 来源:发表于2017-02-16 19:03 被阅读7次

    持久设备中存储数据都是以二进制的形式来存储的,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---字节流

          本文链接:https://www.haomeiwen.com/subject/kvlhwttx.html