目錄下存在亂碼文件名,調用 file.listFiles() 拋出:
JNI DETECTED ERROR: input is not valid Modified UTF-8: illegal start byte 0x94
文件系統編碼與 JVM 預期不一致(如 Linux 文件名為 GBK,JVM 按 UTF-8 讀取),導致 JNI 層解碼失敗。
-Dsun.jnu.encoding=GBK -Dfile.encoding=GBK(視文件系統實際編碼)。Files.newDirectoryStream(Path) (NIO.2) 替代舊 API,異常處理更靈活。