zoukankan      html  css  js  c++  java
  • FileOutputStream

    一、流程:

    1. 打开文件输出流,流的目的地是指定的文件
    2. 通过流向文件写数据
    3. 用完流后关闭流

    二、输出流写出方式1

    使用write(int b)方法,一次写出一个字节.

    public static void testWrite() throws IOException{
            
            //1、找到目标文件
            File file=new File("E:\jia.txt");
            //2、建立数据输出道
            FileOutputStream fileOutputStream=new FileOutputStream(file);
            //3、开始写数据
            fileOutputStream.write('h');
            fileOutputStream.write('e');
            fileOutputStream.write('l');
            fileOutputStream.write('l');
            fileOutputStream.write('o');
            
            //4、关闭通道
            fileOutputStream.close();
            
        }

    注意:

    e盘下的jia.txt不存在会怎么样?

    测试:将E盘下的jia.txt文件删除,发现当文件不存在时,会自动创建一个,但是创建不了多级目录

    注意:使用write(int b)方法,虽然接收的是int类型参数,但是write 的常规协定是:向输出流写入一个字节。要写入的字节是参数 的八个低位的 24 个高位将被忽略。

    三、输出流写出方式2

    使用write(byte[] b),就是使用缓冲.提高效率.

    public static void testWrite2() throws IOException{
            //1、找到目标文件
            File file=new File("E:\jia.txt");
            //2、建立数据输出道
            FileOutputStream fileOutputStream=new FileOutputStream(file);
            //3、开始写数据
            String string="Hello World";
            fileOutputStream.write(string.getBytes());
            
            //4、关闭通道
            fileOutputStream.close();
            
        }

    仔细查看jia.txt文本文件发现上述程序每运行一次,老的内容就会被覆盖掉,那么如何不覆盖已有信息,能够jia.txt里追加信息呢。查看API文档,发现FileOutputStream类中的构造方法中有一个构造可以实现追加的功能FileOutputStream(File file, boolean append)  第二个参数,append - 如果为 true,则将字节写入文件末尾处,而不是写入文件开始处

    每创建一个FileOutputStream 的时候,默认情况下FileOutputStream 的时候,默认情况下FileOutputStream
    的指针是指向了文件的开始的位置。每写出一次,指向都会出现相应的移动。

  • 相关阅读:
    用ps 查看线程状态
    机器学习资料收集
    [转]漫谈数据中心CLOS网络架构
    MBR中“起始磁头/扇区/柱面“同"逻辑区块地址(LBA)"的区别
    [转]硬盘分区表知识——详解硬盘MBR
    [转]什么是总线?什么是前端总线?
    语言的编译-汇编-链接
    计算机进行小数运算会出错

    计算机底层是如何访问显卡的?
  • 原文地址:https://www.cnblogs.com/lyjs/p/4997274.html
Copyright © 2011-2022 走看看