gpt4 book ai didi

Java8 FileSystems.getDefault 抛出 UnsupportedCharsetException

转载 作者:行者123 更新时间:2023-11-30 08:03:22 29 4
gpt4 key购买 nike

我有一个非常简单的代码:

public static void main(String[] arg){
FileSystems.getDefault();
}

在Java7中运行良好

但抛出 UnsupportedCharsetException: GBK in java8,完整堆栈如下:

Exception in thread "main" java.lang.ExceptionInInitializerError
at sun.nio.fs.WindowsFileSystem.<init>(WindowsFileSystem.java:67)
at sun.nio.fs.WindowsFileSystemProvider.<init>(WindowsFileSystemProvider.java:53)
at sun.nio.fs.DefaultFileSystemProvider.create(DefaultFileSystemProvider.java:36)
at java.nio.file.FileSystems$DefaultFileSystemHolder.getDefaultProvider(FileSystems.java:108)
at java.nio.file.FileSystems$DefaultFileSystemHolder.access$000(FileSystems.java:89)
at java.nio.file.FileSystems$DefaultFileSystemHolder$1.run(FileSystems.java:98)
at java.nio.file.FileSystems$DefaultFileSystemHolder$1.run(FileSystems.java:96)
at java.security.AccessController.doPrivileged(Native Method)
at java.nio.file.FileSystems$DefaultFileSystemHolder.defaultFileSystem(FileSystems.java:96)
at java.nio.file.FileSystems$DefaultFileSystemHolder.<clinit>(FileSystems.java:90)
at java.nio.file.FileSystems.getDefault(FileSystems.java:176)
at com.yy.ent.test.Test1.main(Test1.java:26)
Caused by: java.nio.charset.UnsupportedCharsetException: GBK
at java.nio.charset.Charset.forName(Charset.java:531)
at sun.nio.fs.Util.<clinit>(Util.java:41)
... 12 more

我用的是中文windows7而我的 java8 是:

  • Java(TM) SE 运行时环境(build 1.8.0_66-b18)
  • Java HotSpot(TM) 64 位服务器虚拟机(build 25.66-b18,混合模式)

我该如何解决这个问题?

最佳答案

要么尝试将“sun.jnu.encoding”属性更改为其他内容,例如:

-Dsun.jnu.encoding=UTF-8

或者检查您的 JVM 是否包含根据 (http://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html) 支持 GBK 所需的“lib/charsets.jar”

关于Java8 FileSystems.getDefault 抛出 UnsupportedCharsetException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36331128/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com