El uso de la clase FileOutputStream en Java

Tabla de contenido

1. El papel de la clase FileOutputStream

2. Pasos para utilizar la clase FileOutputStream

(1) Importar paquetes de clases relacionadas

(2) Crear un objeto de clase FileOutputStream

(3) Escribir datos

(4) Apagar


1. El papel de la clase FileOutputStream

escribir datos al archivo

2. Pasos para utilizar la clase FileOutputStream

(1) Importar paquetes de clases relacionadas

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

(2) Crear un objeto de clase FileOutputStream

En este momento, se mostrará la excepción. Puede hacer clic en la línea ondulada roja, usar la tecla de método abreviado alt + enter y seleccionar la primera para agregar la excepción a la firma del método , o agregar la excepción a la firma del método usted mismo.

Puede crear un objeto de clase FileOutputStream

public class FileOutputStreamDemo {
    public static void main(String[] args) throws FileNotFoundException {
        FileOutputStream fos = new FileOutputStream("D:\\新建文件夹\\a.txt");
        
    }
}
Nota: 
Al crear un objeto de flujo de salida de bytes, el parámetro puede ser una ruta representada por una cadena o un objeto Archivo. 
Si el archivo no existe, se creará un nuevo archivo, pero su ruta principal debe existir. 
Si el archivo ya existe, se creará. Vacíe el archivo (es decir, los datos recién escritos sobrescribirán el contenido anterior).

(3) Escribir datos

Llame al método de escritura para escribir datos.

(a) void write(int b) escribe un byte de datos a la vez

public class FileOutputStreamDemo {
    public static void main(String[] args) throws IOException {
        //IOException是FileNotFoundException的父类,因此只写IOException即可
        FileOutputStream fos = new FileOutputStream("D:\\新建文件夹\\a.txt");
        //传入的是int类型数据,但实际写到文件中的是整数在ASCII上对应的字符
        fos.write(97);
        //相同的,抛出异常
    }
}

(b) void write(byte[] b) escribe datos de una matriz de bytes a la vez

public class FileOutputStreamDemo {
    public static void main(String[] args) throws IOException {
        FileOutputStream fos = new FileOutputStream("D:\\新建文件夹\\a.txt");
        byte[] bytes1 = {97,98,99,100,101};
        fos.write(bytes1);
        //一次写入一个字节数组数据
    }
}

(c) void write(byte[] b, int off, int len) escribe parte de los datos de una matriz de bytes a la vez

public class FileOutputStreamDemo {
    public static void main(String[] args) throws IOException {
        FileOutputStream fos = new FileOutputStream("D:\\新建文件夹\\a.txt");
        byte[] bytes1 = {97,98,99,100,101};
        fos.write(bytes1,2,4);
        //off:起始字节索引,len:写入的字节个数

    }
}

 Datos de escritura de nueva línea

Para implementar datos de escritura de nueva línea, simplemente escriba un carácter de nueva línea

public class FileOutputStreamDemo {
    public static void main(String[] args) throws IOException {
        FileOutputStream fos = new FileOutputStream("D:\\新建文件夹\\a.txt");
        //创建一个字符串,内容为换行符
        fos.write(97);
        String str1 = "\r\n";//也可以只写\r或者\n但最好写完整
        //调用getBytes()方法,将字符串中内容转换为字节数组
        byte[] bytes1 = str1.getBytes();
        fos.write(bytes1);
        //同样的,可以用字符串的方式创建较长的数据,再调用getBytes()方法,转换为字节数组
        String str2 = "asdfghjklqwert";
        byte[] bytes2 = str2.getBytes();
        fos.write(bytes2);
    }
}

continúa escribiendo

Si desea implementar la escritura continua (escribir datos nuevos después de los datos originales del archivo), solo necesita pasar el segundo parámetro verdadero al crear el objeto de flujo de salida del archivo.

 se puede continuar

(4) Apagar

Cierre la transmisión cada vez que la use, es decir, desconecte el enlace entre el programa y el archivo.

public class FileOutputStreamDemo {
    public static void main(String[] args) throws IOException {
        FileOutputStream fos = new FileOutputStream("D:\\新建文件夹\\a.txt");
        byte[] bytes1 = {97,98,99,100,101};
        fos.write(bytes1,2,4);
        //关流
        fos.close();
    }
}

El siguiente es el código completo para la continuación, y el resto del código básicamente solo necesita agregar el flujo de cierre.

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileOutputStreamDemo {
    public static void main(String[] args) throws IOException {
        //创建输出流对象
        FileOutputStream fos = new FileOutputStream("D:\\新建文件夹\\a.txt",true);
        //写入续写数据
        String str = "asdfghjklqwert";
        byte[] bytes = str.getBytes();
        fos.write(bytes);
        //关流
        fos.close();
    }
}

 

Supongo que te gusta

Origin blog.csdn.net/2301_76161469/article/details/129978197
Recomendado
Clasificación