Presta atención porque en este artículo vas a encontrar el resultado que buscas.
Solución:
Tu archivo es siendo leído como UTF-8, de lo contrario nunca podría aparecer un carácter con valor “65279”. javac
espera que su código fuente esté en la codificación predeterminada de la plataforma, de acuerdo con el javac
documentación:
Si -codificación no se especifica, se utiliza el convertidor predeterminado de la plataforma.
El decimal 65279 es FEFF hexadecimal, que es la marca de orden de bytes (BOM) Unicode. No es necesario en UTF-8, porque UTF-8 siempre se codifica como un flujo de octetos y no tiene problemas de endian.
Al Bloc de notas le gusta incluir listas de materiales incluso cuando no son necesarias, pero a algunos programas no les gusta encontrarlas. Como han señalado otros, el Bloc de notas no es un editor de texto muy bueno. Cambiar a un editor de texto diferente seguramente resolverá su problema.
Abra el archivo en Notepad++ y seleccione Codificación -> Convertir a UTF-8 sin BOM.
¡Este no es un problema con su editor de texto, es un problema con javac! La especificación Unicode dice que BOM es opcional en UTF-8, ¡no dice que esté prohibido! Si una lista de materiales puede estar allí, entonces javac TIENE que manejarlo, pero no lo hace. En realidad, el uso de BOM en archivos UTF-8 ES útil para distinguir un archivo codificado en ANSI de un archivo codificado en Unicode.
La solución propuesta de eliminar la lista de materiales es solo una solución alternativa y no la solución adecuada.
Este informe de error indica que este “problema” nunca se solucionará: http://bugs.java.com/view_bug.do?bug_id=4508058
Dado que este hilo se encuentra entre los 2 primeros resultados de Google para la búsqueda “javac BOM”, lo dejo aquí para futuros lectores.
Te invitamos a apoyar nuestro análisis exponiendo un comentario o valorándolo te lo agradecemos.