¿Cómo guardo una cadena en un archivo de texto usando Java?
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?
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 PrintStream
cuando 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.FileNotFoundException
como antes.
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.
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
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);
}