utf8 example java file-io utf-8

example - java file utf 8 encoding



Cómo escribir un archivo UTF-8 con Java? (9)

Tengo un código actual y el problema es crear un archivo de página de códigos 1252, quiero forzarlo a crear un archivo UTF-8

¿Alguien puede ayudarme con este código, como digo que actualmente funciona ... pero tengo que forzar la salvación en utf ... ¿puedo pasar un parámetro o algo así?

esto es lo que tengo, cualquier ayuda realmente apreciada

var out = new java.io.FileWriter( new java.io.File( path )), text = new java.lang.String( src || "" ); out.write( text, 0, text.length() ); out.flush(); out.close();


Desde Java 7, puede hacer lo mismo con Files.newBufferedWriter un poco más sucinta:

Path logFile = Paths.get("/tmp/example.txt"); try (BufferedWriter writer = Files.newBufferedWriter(logFile, StandardCharsets.UTF_8)) { writer.write("Hello World!"); // ... }


El tipo de utilidad de archivos Java 7 es útil para trabajar con archivos:

import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.io.IOException; import java.util.*; public class WriteReadUtf8 { public static void main(String[] args) throws IOException { List<String> lines = Arrays.asList("These", "are", "lines"); Path textFile = Paths.get("foo.txt"); Files.write(textFile, lines, StandardCharsets.UTF_8); List<String> read = Files.readAllLines(textFile, StandardCharsets.UTF_8); System.out.println(lines.equals(read)); } }

La versión de Java 8 le permite omitir el argumento Charset , los métodos predeterminados para UTF-8.


El código de ejemplo siguiente puede leer el archivo línea por línea y escribir un nuevo archivo en formato UTF-8. Además, explícitamente estoy especificando la codificación Cp1252.

public static void main(String args[]) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader( new FileInputStream("c://filenonUTF.txt"), "Cp1252")); String line; Writer out = new BufferedWriter( new OutputStreamWriter(new FileOutputStream( "c://fileUTF.txt"), "UTF-8")); try { while ((line = br.readLine()) != null) { out.write(line); out.write("/n"); } } finally { br.close(); out.close(); } }


En lugar de usar FileWriter , cree un FileOutputStream . Puede envolver esto en un OutputStreamWriter , que le permite pasar una codificación en el constructor. Luego puede escribir sus datos en un enunciado de prueba con recursos :

try (OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(PROPERTIES_FILE), StandardCharsets.UTF_8)) // do stuff }


Intenta usar FileUtils.write de Apache Commons.

Debería poder hacer algo como:

File f = new File("output.txt"); FileUtils.writeStringToFile(f, document.outerHtml(), "UTF-8");

Esto creará el archivo si no existe.


Prueba esto

Writer out = new BufferedWriter(new OutputStreamWriter( new FileOutputStream("outfilename"), "UTF-8")); try { out.write(aString); } finally { out.close(); }



podemos escribir el archivo codificado en UTF-8 con java usando use PrintWriter para escribir xml codificado en UTF-8

O haga clic here

PrintWriter out1 = new PrintWriter(new File("C://abc.xml"), "UTF-8");


var out = new java.io.PrintWriter(new java.io.File(path), "UTF-8"); text = new java.lang.String( src || "" ); out.print(text); out.flush(); out.close();