MyClass.class.getResourceAsStream файла json возвращает zip-файл

#java #jakarta-ee #fileinputstream

#java #джакарта-ee #fileinputstream

Вопрос:

в моем веб-приложении Java я интегрировал firebase-admin-sdk. Чтобы перейти к извлечению файла json для передачи в GoogleCredentials, я использую MyClass.class.getResourceAsStream (путь), выполняя приведение следующим образом:

 FileInputStream targetStream = (FileInputStream) MyClass.class.getResourceAsStream (credentials);
GoogleCredentials.fromStream (targetStream, transportFactory);
 

Моя проблема в том, что getResourceAsStream выдает мне тип ZipFileInflaterInputStream вместо InputStream, в результате я получаю java.lang.ClassCastException: java.util.zip.ZipFile $ ZipFileInflaterInputStream не может быть преобразован в java.io.FileInputStream.

К сожалению, я не могу использовать рекомендации firebase для импорта файла.

Сможет ли кто-нибудь показать мне решение? Спасибо

Ответ №1:

Просто не приводите возвращаемый поток к FileInputStream .

 InputStream targetStream = MyClass.class.getResourceAsStream (credentials);
GoogleCredentials.fromStream (targetStream, transportFactory);