> There is a similar bug: > Bug 6795536 - No system start for file.encoding=x-SJIS_0213
Yeah... I looked at the sources in that package and there is at least one more place which converts a String to bytes using getBytes(). This seems to be a trivial fix in UnixFileSystem though. Anyway, bug ID for this is: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7181721 Dawid > > In this case on Windows. > > -Ulf > > > Am 04.07.2012 14:43, schrieb Dawid Weiss: > > Hi folks. > > Run the following with -Dfile.encoding=UTF-16: > > public class TestBlah { > public static void main(String []) throws Exception { > TimeZone.getDefault(); > } > } > > This on linux (and any unixish system I think) will result in: > > java.lang.ExceptionInInitializerError > at java.nio.file.FileSystems.getDefault(FileSystems.java:176) > at sun.util.calendar.ZoneInfoFile$1.run(ZoneInfoFile.java:482) > at sun.util.calendar.ZoneInfoFile$1.run(ZoneInfoFile.java:477) > ... > > There is an encoding-sensitive part calling getBytes on the initial > path (and this screws it up): > > // package-private > UnixFileSystem(UnixFileSystemProvider provider, String dir) { > this.provider = provider; > this.defaultDirectory = UnixPath.normalizeAndCheck(dir).getBytes(); > if (this.defaultDirectory[0] != '/') { > throw new RuntimeException("default directory must be > absolute"); > } > > Filed a bug for this but don't have the ID yet. > > Dawid > > >