我的操作系统是日语版的Windows 10。使用Windows压缩文件工具,我创建了一个包含日文文件名的文件的压缩文件。当我从这个文件生成ArchiveInputStream并使用ArchiveInputStream.getNextEntry()。getName()获取文件的文件名时,日文文件名是乱码。例如,新しいテキストドキュメント.txt成为�V�����e�L�X�g�h�L�������g.txt。我该如何解决这个问题?
S3Object s3Object = s3Client.getObject(new GetObjectRequest(s3Setting.getBucketName(), s3FileKey));
InputStream inputStream = s3Object.getObjectContent();
try (ArchiveInputStream archiveStream = new ArchiveStreamFactory().createArchiveInputStream(inputStream)) {
ArchiveEntry entry = archiveStream.getNextEntry();
while (entry != null) {
String filename = StringUtils.removeEnd(FilenameUtils.normalize(entry.getName(), true), UNIX_SEPARATOR)
...
entry = archiveStream.getNextEntry();
}
}