当前位置: 代码迷 >> 综合 >> JavaSE基础(121) FileOutputStream(字节流-文件输出流)将数据写入到一个文件中
  详细解决方案

JavaSE基础(121) FileOutputStream(字节流-文件输出流)将数据写入到一个文件中

热度:64   发布时间:2023-12-13 15:07:56.0

FileOutputStream:文件输出流是用于将数据写入 FileFileDescriptor 的输出流。文件是否可用或能否可以被创建取决于基础平台。特别是某些平台一次只允许一个 FileOutputStream(或其他文件写入对象)打开文件进行写入。在这种情况下,如果所涉及的文件已经打开,则此类中的构造方法将失败。

FileOutputStream 用于写入诸如图像数据之类的原始字节的流。要写入字符流,请考虑使用 FileWriter

第一步: 创建输出流对象       怎么创建??   ==》 通过FileOutputStream的构造方法创建

构造方法摘要
FileOutputStream(File file)
          创建一个向指定 File 对象表示的文件中写入数据的文件输出流。
FileOutputStream(File file, boolean append)
          创建一个向指定 File 对象表示的文件中写入数据的文件输出流。
FileOutputStream(FileDescriptor fdObj)
          创建一个向指定文件描述符处写入数据的输出文件流,该文件描述符表示一个到文件系统中的某个实际文件的现有连接。
FileOutputStream(String name)
          创建一个向具有指定名称的文件中写入数据的输出文件流。
FileOutputStream(String name, boolean append)
          创建一个向具有指定 name 的文件中写入数据的输出文件流。

第二步:写入内容        怎么写进去??  ==》    通过FileOutputStream的write方法

方法摘要
 void write(byte[] b)
          将 b.length 个字节从指定 byte 数组写入此文件输出流中。
 void write(byte[] b, int off, int len)
          将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此文件输出流。
 void write(int b)
          将指定字节写入此文件输出流。

第三步:关闭流


ex:

/*** FileOutputStream(字节流-文件输出流) 将数据写入到一个文件:                         内存到磁盘:写的操作* 1.创建输出流对象       怎么创建??   ==》通过FileOutputStream的构造方法创建*   ①FileOutputStream(File file):创建一个向指定 File 对象表示的文件中写入数据的文件输出流。 *   ②FileOutputStream(File file, boolean append):创建一个向指定 File 对象表示的文件中写入数据的文件输出流。 *   ③FileOutputStream(FileDescriptor fdObj): 创建一个向指定文件描述符处写入数据的输出文件流,该文件描述符表示一个到文件系统中的某个实际文件的现有连接。 *   ④FileOutputStream(String name):创建一个向具有指定名称的文件中写入数据的输出文件流。 *   ⑤FileOutputStream(String name, boolean append):创建一个向具有指定 name 的文件中写入数据的输出文件流。 *                                 //true:将字节写入文件末尾处   false:将字节写入到文件开始处   注意:true相当于将内容拼接,而false相当于把新内容直接覆盖原来内容* 注意:连接的一个不存在的文件 会自动创建!!* 2.写入内容        怎么写进去??  ==》    通过FileOutputStream的write方法*   ①void write(byte[] b) :将 b.length 个字节从指定 byte 数组写入此文件输出流中。 *   ②void write(byte[] b, int off, int len) :将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此文件输出流。 *   ③void write(int b) : 将指定字节写入此文件输出流。 * 3.关闭流* @author 郑清*/
public class Demo {public static void main(String[] args) throws IOException {//1.创建一个字节输出流,关联磁盘磁盘文件,如果文件存在直接使用,如果不存在,则自动创建,然后将数据写入FileOutputStream fos = new FileOutputStream("D:1/1.txt");//2.写入内容://方式①:写入一个字节        void write(int b) : 将指定字节写入此文件输出流。fos.write(97);//写入的是:a//方式②:写入文字              void write(byte[] b) :将 b.length 个字节从指定 byte 数组写入此文件输出流中。fos.write("这是即将写入的文字".getBytes()); //方式③:写入指定字节          void write(byte[] b, int off, int len) :将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此文件输出流。 byte[] b = new byte[] {97,98,99,65,66,67};fos.write(b, 0, 4);//写入从b数组起始位置为0 开始 的4个字节    (在这里写入的即是:abcA)//3.关闭流fos.close();}}