¿Cómo guardo una cadena en un archivo de texto usando Java?

Resuelto Justin White asked hace 15 años • 0 respuestas

En Java, tengo texto de un campo de texto en una variable de cadena llamada "texto".

¿Cómo puedo guardar el contenido de la variable "texto" en un archivo?

Justin White avatar Jun 28 '09 02:06 Justin White
Aceptado

Si simplemente está generando texto, en lugar de datos binarios, lo siguiente funcionará:

PrintWriter out = new PrintWriter("filename.txt");

Luego, escribe tu String en él, tal como lo harías con cualquier flujo de salida:

out.println(text);

Necesitará manejo de excepciones, como siempre. Asegúrese de cerrar el flujo de salida cuando haya terminado de escribir.

out.close()

Si está utilizando Java 7 o posterior, puede utilizar la " declaración de prueba con recursos " que cerrará automáticamente PrintStreamcuando haya terminado (es decir, salga del bloque) de esta manera:

try (PrintWriter out = new PrintWriter("filename.txt")) {
    out.println(text);
}

Aún necesitarás lanzar explícitamente java.io.FileNotFoundExceptioncomo antes.

Jeremy Smyth avatar Jun 27 '2009 19:06 Jeremy Smyth

Apache Commons IO contiene algunos métodos excelentes para hacer esto, en particular FileUtils contiene el siguiente método:

static void writeStringToFile(File file, String data, Charset charset) 

que le permite escribir texto en un archivo en una llamada a un método:

FileUtils.writeStringToFile(new File("test.txt"), "Hello File", Charset.forName("UTF-8"));

Es posible que también desee considerar especificar la codificación del archivo.

Jonathan Holloway avatar Jun 27 '2009 19:06 Jonathan Holloway

En Java 7 puedes hacer esto:

String content = "Hello File!";
String path = "C:/a.txt";
Files.write( Paths.get(path), content.getBytes());

Hay más información aquí: http://www.drdobbs.com/jvm/java-se-7-new-file-io/231600403

Daniil Shevelev avatar Mar 17 '2014 01:03 Daniil Shevelev

Eche un vistazo a la API de archivos Java

un ejemplo rápido:

try (PrintStream out = new PrintStream(new FileOutputStream("filename.txt"))) {
    out.print(text);
}
Jorn avatar Jun 27 '2009 19:06 Jorn