Página 6
Expandir o Colapsar por completo un JTree
Página 7
Índice
See this article in english  Ver este artículo en español 
 

Detectar la codificación de caracteres utilizda en un archivo

Alexander Hristov

Esta utilidad determina la codificación de caracteres utilizada por un flujo binario que contiene datos XML. La codificación se determina utilizando las reglas que figuran en la Especificación XML, y el método se ha diseñado de forma que sea lo más rápido posible, sin hacer uso apenas de cadenas ni expresiones regulares.

Un ejemplo sencillo de uso sería:

	InputStream in = ...; 
	String encoding = detectEncoding(in);
	BufferedReader reader = new BufferedReader(new InputStreamReader(in,encoding)); 
  


Y a partir de este punto se pueden leer tranquilamente caracteres.

detectEncoding() toma un único parámetro - un InputStream que contiene los datos a leer. El InputStream debe soportar los métodos mark()/reset(), de lo contrario el llamante debe envolver el flujo en un BufferedInputStream antes de hacer la llamada. Una vez que el método ha finalizado, el flujo se encuentra posicionado en el carácter < de la declaración de documento XML (Esto significa que si ha habido byte-order-marks, los mismos se omiten).

El método devuelve la codificación detectada como cadena, utilizando el nombre canónico en java.io (ver Supported Encodings para la lista de nombres canónicos).



Código Fuente



 

Comentarios

 

Añadir Comentario

Nombre (opcional)
EMail (opcional, no se muestra)

Texto