IO流:字节输出流FileOutputStream的超详细用法

简介: IO流:字节输出流FileOutputStream的超详细用法

一、写数据的三种方式

1、一次写入一个字节

方法:void write(int b)

package com.hidata.devops.paas.demo;
import java.io.FileOutputStream;
import java.io.IOException;
/**
 * @Description :
 * @Date: 2023-10-12 14:26
 */
public class TestDemo {
    public static void main(String[] args) throws IOException {
        FileOutputStream fos = new FileOutputStream("D:\\workspace_ruoyi_code\\branch\\hipaas\\paas\\src\\test\\java\\com\\hidata\\devops\\paas\\demo\\a.txt");
        fos.write(97);
        fos.close();
    }
}

2、一次写入一个字节数组

方法:void write(byte[] b)

package com.hidata.devops.paas.demo;
import java.io.FileOutputStream;
import java.io.IOException;
/**
 * @Description :
 * @Date: 2023-10-12 14:26
 */
public class TestDemo {
    public static void main(String[] args) throws IOException {
        FileOutputStream fos = new FileOutputStream("D:\\workspace_ruoyi_code\\branch\\hipaas\\paas\\src\\test\\java\\com\\hidata\\devops\\paas\\demo\\a.txt");
        byte[] bytes = {97,98,99,100,101};
        fos.write(bytes);
        fos.close();
    }
}

3、一次写入一个字节数组的一部分

方法:void write(byte[] b,int off,int len)

其中:

  • 参数一:数组
  • 参数二:起始索引
  • 参数三:个数
package com.hidata.devops.paas.demo;
import java.io.FileOutputStream;
import java.io.IOException;
/**
 * @Description :
 * @Date: 2023-10-12 14:26
 */
public class TestDemo {
    public static void main(String[] args) throws IOException {
        FileOutputStream fos = new FileOutputStream("D:\\workspace_ruoyi_code\\branch\\hipaas\\paas\\src\\test\\java\\com\\hidata\\devops\\paas\\demo\\a.txt");
        byte[] bytes = {97,98,99,100,101};
        fos.write(bytes,0,2);
        fos.close();
    }
}

二、换行

  • 各个操作系统的换行符号:
  • windows:\r\n
  • Linux:\n
  • Mac:\r

注意

  • 在windows系统中,java对回车换行进行了优化,虽然完整的是\r\n,但是我们写其中一个\r或者\n,java也可以实现换行,因为java在底层会自动补全
package com.hidata.devops.paas.demo;
import java.io.FileOutputStream;
import java.io.IOException;
/**
 * @Description :
 * @Date: 2023-10-12 14:26
 */
public class TestDemo {
    public static void main(String[] args) throws IOException {
        FileOutputStream fos = new FileOutputStream("D:\\workspace_ruoyi_code\\branch\\hipaas\\paas\\src\\test\\java\\com\\hidata\\devops\\paas\\demo\\a.txt");
        fos.write(97);
        String wrap = "\r\n";
        fos.write(wrap.getBytes());
        fos.write(98);
        fos.close();
    }
}

三、续写

想要每一次写入数据,不会覆盖之前的数据,我们可以加入第二个参数,方法如下:

public FileOutputStream(String name, boolean append)

参数 append,如果为true,表示继续追加,false是直接覆盖

package com.hidata.devops.paas.demo;
import java.io.FileOutputStream;
import java.io.IOException;
/**
 * @Description :
 * @Date: 2023-10-12 14:26
 */
public class TestDemo {
    public static void main(String[] args) throws IOException {
        FileOutputStream fos = new FileOutputStream("D:\\a.txt",true);
        fos.write(97);
        fos.write(98);
        fos.close();
    }
}


相关文章
|
7月前
|
安全 网络协议 Java
Thread类的用法 && 线程安全 && 多线程代码案例 && 文件操作和 IO && 网络原理初识 &&UDP socket
Thread类的用法 && 线程安全 && 多线程代码案例 && 文件操作和 IO && 网络原理初识 &&UDP socket
40 0
|
13天前
|
存储 Java
java IO接口(Input)用法
【5月更文挑战第1天】Java的`java.io`包包含多种输入输出类。此示例展示了如何使用`FileInputStream`从`input.txt`读取数据。首先创建`FileInputStream`对象,接着创建一个字节数组存储读取的数据,调用`read()`方法将文件内容填充至数组。然后将字节数组转换为字符串并打印,最后关闭输入流。注意,`InputStream`是抽象类,此处使用其子类`FileInputStream`。其他子类如`ByteArrayInputStream`、`ObjectInputStream`和`BufferedInputStream`各有特定用途。
21 2
|
9月前
|
索引
文件IO之 File 类和 InputStream, OutputStream 的用法(三)
文件IO之 File 类和 InputStream, OutputStream 的用法
65 0
|
9月前
|
存储 Java
文件IO之 File 类和 InputStream, OutputStream 的用法(一)
文件IO之 File 类和 InputStream, OutputStream 的用法
56 0
|
4月前
|
Java API 数据库
IO流【转换流、字符输出流、数据流、对象流】(三)-全面详解(学习总结---从入门到深化)
IO流【转换流、字符输出流、数据流、对象流】(三)-全面详解(学习总结---从入门到深化)
31 0
|
4月前
IO流:字符输入流Reader的超详细用法及底层原理
IO流:字符输入流Reader的超详细用法及底层原理
|
5月前
|
Java
【文件IO】 File类的用法和 InputStream OutputStream 的用法
【文件IO】 File类的用法和 InputStream OutputStream 的用法
|
7月前
|
Java
java IO接口(Input)用法demo
java IO接口(Input)用法demo
|
9月前
|
Java
文件IO之 File 类和 InputStream, OutputStream 的用法(二)
文件IO之 File 类和 InputStream, OutputStream 的用法
62 0
|
9月前
|
IDE Java Apache
commons-io如何添加和常见的用法
commons-io如何添加和常见的用法
369 0