u00f3 u00e9 java unicode

u00e9 - Java Scanner Class bad character "®"



in java (2)

De forma predeterminada, Scanner usa la codificación de caracteres predeterminada de la plataforma, es posible que no coincida con la codificación de caracteres del archivo. Estados de JavaDoc :

Construye un nuevo escáner que produce valores escaneados desde el archivo especificado. Los bytes del archivo se convierten en caracteres utilizando el juego de caracteres predeterminado de la plataforma subyacente.

Primero determine en qué carácter está la codificación de su archivo, esto puede hacerse con el file -i utilidad de línea de comandos de Linux file -i . Pase la codificación correcta al escáner. Java 7 contiene constantes predefinidas en java.nio.charset.StandardCharsets para algunos conjuntos de caracteres bien conocidos.

Scanner file = new Scanner(new File(fileName), StandardCharsets.UTF_8);

Tengo una clase de escáner leyendo un archivo en una cadena. Cualquier archivo con este carácter "®" hace que falle. Soy nuevo en Java. ¿Hay alguna forma mejor de leer este archivo para que el personaje sea aceptado?

public void readFile(String fileName) { fileText = ""; try { Scanner file = new Scanner(new File(fileName)); while (file.hasNextLine()) { String line = file.nextLine(); fileText += line +"/r"+"/n"; } file.close(); } catch (Exception e) { System.out.println(e); } }


Mencione la codificación cuando crea el escáner.

Scanner file= new Scanner(new File(fileName), "utf-8");