当前位置: 首页 > article >正文

IO流体系(FiletOutputStream)

书写步骤:

1.创建字节输出流对象

细节1:参数是字符串表示的路径或者是File对象都是可以的

细节2:如果文件不存在会创建一个新的文件,但是要保证父级路径是存在的。

细节3:如果文件已经存在,则会清空文件

2.写数据

细节:write方法的参数是整数,但是实际上写到本地文件中的是整数在ASCII上对应的字符

3.释放资源

每次使用完之后都要释放资源

提前创建好a.txt的文件

package myio;

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

public class IoDemo1 {
    public static void main(String[] args) throws IOException {
        FileOutputStream fos = new FileOutputStream("D:\\你自己的路径\\a.txt");
        fos.write(97);
        fos.close();
    }
}

运行之后就可以看见a.txt里面多了个a

一次写多个数据

一次写一个字节数组数据

package myio;

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

public class IoDemo1 {
    public static void main(String[] args) throws IOException {
        FileOutputStream fos = new FileOutputStream("D:\\Web\\API\\src\\myio\\a.txt");
//        fos.write(97);
        byte[] bytes = {97,98,99,100,101};
        fos.write(bytes);
        fos.close();
    }
}

写数组中的部分数据

package myio;

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

public class IoDemo1 {
    public static void main(String[] args) throws IOException {
        FileOutputStream fos = new FileOutputStream("D:\\Web\\API\\src\\myio\\a.txt");
//        fos.write(97);
        byte[] bytes = {97,98,99,100,101};
//        fos.write(bytes);
        fos.write(bytes,1,3);
        fos.close();
    }
}

换行写

1.再次写出一个换行符就可以了

windows:\r\n Linux:\n Mat:\r

细节:

在windows操作系统当中,java对回车换行进行了优化。虽然完整的是\r\n,但是我们写其中一个\r或者\n,java也可以实现换行,因为java在底层会补全。

建议:不要省略,还是写全了

package myio;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Arrays;

public class IoDemo2 {
    public static void main(String[] args) throws IOException {
        FileOutputStream fos = new FileOutputStream("D:\\Web\\API\\src\\myio\\a.txt");
        String str = "shiyifangjia";
        byte[] bytes = str.getBytes();
//        System.out.println(Arrays.toString(bytes));
        fos.write(bytes);
        //换行
        String wrap = "\r\n";
        byte[] bytes1 = wrap.getBytes();
        fos.write(bytes1);
        String str2 = "666";
        byte[] bytes2 = str2.getBytes();
        fos.write(bytes2);
        fos.close();

    }
}

续写

如果想要续写,打开续写开关即可

开关位置:创建对象的第二个参数

默认false:表示关闭续写,此时创建对象会清空文件

手动传递true:表示打开续写,此时创建对象不会清空文件


http://www.kler.cn/a/312509.html

相关文章:

  • 『事善能』MySQL基础 — 2.MySQL 5.7安装(一)
  • 定制ShardingSphere-Proxy镜像满足业务需求
  • 聚合联盟的优势
  • SpringBoot框架在资产管理中的应用
  • DocuBurst——基于java实现
  • 【在Linux世界中追寻伟大的One Piece】poll代码改写
  • Go Testify学习与使用
  • Linux环境变量进程地址空间
  • 毕业设计选题:基于springboot+vue+uniapp的驾校报名小程序
  • MySQL从入门到精通二
  • Java企业面试题3
  • MySQL_图形管理工具简介、下载及安装(超详细)
  • 对ViT 中Patch Embedding理解
  • 用友U8二次开发工具KK-FULL-*****-EFWeb使用方法
  • Vue 依赖注入组件通信:provide / inject 使用详解
  • QUIC 和 HTTP/3:提升网络性能的关键技术
  • Spring Cloud Config 动态刷新原理分析
  • 视频单目标跟踪研究
  • 鸿蒙next web组件和h5 交互实战来了
  • 零基础到项目实战:Node.js版Selenium WebDriver教程
  • Gitee Pipeline 从入门到实战【详细步骤】
  • Spring Boot框架下校园信息管理平台的构建
  • Unborn安装CUDA Toolkit 12.2
  • android10 系统定制:增加应用使用数据埋点,应用使用时长统计
  • 2013-2023年专精特新小巨人企业财务指标数据
  • MySQL 数据库备份与恢复指南