getresourceasstream getclass ejemplo java file-io

java - getclass - getResourceAsStream-¿Qué codificación se lee?



getresourceasstream path (2)

Estoy usando getResourceAsStream para acceder a un archivo local. ¿Qué codificación asume que es el archivo?


No sé cómo usar la codificación en getResourceStream() , generalmente puede consultar la propiedad file.encoding o Charset.defaultCharset() para encontrar la codificación predeterminada actual. Es mejor especificar explícitamente la codificación deseada (es decir, "UTF-8 ") en el código. De esta manera, funcionará incluso en diferentes plataformas.

También cómo leer un archivo, puede ver esta publicación Cómo crear una cadena Java a partir del contenido de un archivo La respuesta de Jon Skeet.


InputStream s no tiene codificaciones. Solo son flujos de bytes. Reader son para texto con una codificación. Puede crear un Reader con un conjunto de caracteres específico de un InputStream como este:

Reader reader = new InputStreamReader(inputStream, "UTF-8");

Si está utilizando un conjunto de caracteres que está garantizado para ser compatible con todas las plataformas Java como UTF-8, puede evitar tener que lidiar con las Charsets Charsets.UTF_8 usando una constante de la clase Charsets de Guava como Charsets.UTF_8 .