jre 1.8 file encoding probléma
Hello,
Adott egy konzolos 5 soros program, ami a paraméterben kapott fájlt utf8-ra alakítja. (Egy feldolgozási folyamat végén egy másik programból kerül meghívásra).
Remekül működött a jre 1.8 update 411-ig. Ettől fogva a fájlt csak akkor tudta megnyitni, ha átadtam a jvm-nek a -Dsun.jnu.encoding=utf8 paramétert.
Ismét működött (411-421), de most jött nemrég a 431. És megint nem megy.
Ha nem adok át neki paramétert (-Dsun.jnu.encoding=utf8) akkor jól működik (tehát mint előtte).
Ugye most nézegethetném (valahogy), hogy melyik verzió megy és aszerint hívhatnám meg (A sun.jnu.encoding paramétert nem lehet programból állítani tehát az nem játszik, hogy programon belül lekezelem a kivételt és újra próbálom más paraméterrel).
Várom az ötleteket.
Köszönöm!
f:\test2024>java -Dsun.jnu.encoding=utf8 utf8 KÖN_202410_2411111223.xml
Java Runtime version 1.8.0_421-b09
---------------------------------------------------------
Charset.defaultCharset() = windows-1250
System.getProperty("file.encoding") = Cp1250
System.getProperty("native.encoding") = null
System.getProperty("sun.jnu.encoding") = utf8
System.getProperty("sun.stdout.encoding") = cp852
System.getProperty("sun.stderr.encoding") = cp852
f:\test2024>java -Dsun.jnu.encoding=utf8 utf8 KÖN_202410_2411111223.xml
Java Runtime version 1.8.0_431-b10
---------------------------------------------------------
Charset.defaultCharset() = windows-1250
System.getProperty("file.encoding") = Cp1250
System.getProperty("native.encoding") = null
System.getProperty("sun.jnu.encoding") = utf8
System.getProperty("sun.stdout.encoding") = cp852
System.getProperty("sun.stderr.encoding") = cp852
Exception in thread "main" java.nio.file.NoSuchFileException: K?N_202410_2411111223.xml
at sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
at sun.nio.fs.WindowsFileSystemProvider.newByteChannel(Unknown Source)
at java.nio.file.Files.newByteChannel(Unknown Source)
at java.nio.file.Files.newByteChannel(Unknown Source)
at java.nio.file.Files.readAllBytes(Unknown Source)
at utf8.main(utf8.java:25)
- Tovább (jre 1.8 file encoding probléma )
- 466 megtekintés