English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este tutorial, aprenderemos con ejemplos sobre Java FileWriter y sus métodos.
La clase FileWriter del paquete java.io se puede usar para escribir datos (en unidades de caracteres) en un archivo.
hereda la clase OutputStreamWriter.
Antes de profundizar en FileWriter, asegúrate de entenderJava文件。
Para crear un escritor de archivos, debemos importar primero el paquete Java.io.FileWriter. Después de importar el paquete, podemos crear un escritor de archivos.
1.Usando el nombre del archivo
FileWriter output = new FileWriter(String name);
Aquí, creamos un escritor de archivos que se conectará al nombre de archivo especificado.
2.Usando el objeto del archivo
FileWriter input = new FileWriter(File fileObj);
Aquí, creamos un escritor de archivos que se conectará al archivo especificado por el objeto de archivo.
En el ejemplo anterior, los datos se almacenan utilizando cierta codificación de caracteres predeterminada.
pero, debido a Java 11también podemos especificar el tipo de codificación de caracteres (UTF8oUTF16)
FileWriter input = new FileWriter(String file, Charset cs);
Aquí, utilizamos la clase Charset para especificar la codificación de caracteres del escritor de archivos.
La clase FileWriter proporciona implementaciones para diferentes métodos que aparecen en la clase Writer.
write() -escribe un carácter en el escritor
write(char[] array) -escribe los caracteres de un array específico en el escritor
write(String data) -escribe una cadena específica en el escritor
import java.io.FileWriter; public class Main { public static void main(String args[]) { String data = "This is the data in the output file"; try { // crear FileWriter FileWriter output = new FileWriter("output.txt"); // escribir una cadena en el archivo output.write(data); //cerrar writer output.close(); } catch (Exception e) { e.getStackTrace(); } } }
En el ejemplo anterior, creamos un escritor de archivo llamado output. El lector de salida conoutput.txtenlace de archivo.
FileWriter output = new FileWriter("output.txt");
Para escribir datos en el archivo, usamos el método write().
Aquí, cuando ejecutamos el programa,output.txtEl archivo se llenará con el siguiente contenido.
This is a line of text inside the file.
El método getEncoding() se puede usar para obtener el tipo de codificación utilizado para escribir datos. Por ejemplo,
import java.io.FileWriter; import java.nio.charset.Charset; class Main { public static void main(String[] args) { String file = "output.txt"; try { //crea un FileReader con la codificación predeterminada FileWriter output1 = new FileWriter(file); //crea un FileReader con una codificación específica FileWriter output2 = new FileWriter(file, Charset.forName("UTF8")); //devuelve la codificación de caracteres del lector System.out.println("output1de la codificación de caracteres: " + output1.getEncoding()); System.out.println("output2de la codificación de caracteres: " + output2.getEncoding()); // 关闭 reader output1.close(); output2.close(); } catch(Exception e) { e.getStackTrace(); } } }
输出结果
output1的字符编码: Cp1252 output2的字符编码: UTF8
在上面的示例中,我们创建了2个文件写入器,分别名为output1和output2。
output1没有指定字符编码。因此,getEncoding()方法返回默认字符编码。
output2指定字符编码UTF8。因此,getEncoding()方法返回指定的字符编码。
注意:我们已经使用该Charset.forName()方法指定字符编码的类型。
要关闭文件写入器,我们可以使用close()方法。一旦调用了close()方法,就不能使用writer写入数据。
方法 | 描述 |
---|---|
flush() | 强制将写入器中存在的所有数据写入相应的目的地 |
append() | 将指定字符插入当前写入器 |