IOException при открытии credentials.json - PullRequest
0 голосов
/ 02 апреля 2019

Я создаю приложение для подключения к API Календаря Google, но всякий раз, когда я пытаюсь загрузить клиентские секреты, возникает IOException.

Я пытался изменить путь, где хранится файл(сначала это было в папке приложения, затем я переместил его в res/assets), чтобы изменить способ открытия файла с помощью InputStream: 1º. Сначала код был таким:

private static final String CREDENTIALS_FILE_PATH = "assets/credentials.json";
InputStream in = this.class.getResourceAsStream(CREDENTIALS_FILE_PATH);
GoogleClientSecrets clientSecrets = GoogleClientSecrets.load(JSON_FACTORY, new InputStreamReader(in));

Затем япопытался открыть его из ресурсов:

InputStream in = this.getAssets().open("credentials.json");
GoogleClientSecrets clientSecrets = GoogleClientSecrets.load(JSON_FACTORY, new InputStreamReader(in));

Но что бы я ни пытался, это выдает ошибку java.io.FileNotFoundException: credentials.json, и я не уверен, что это из-за имени пути, способа его открытия или чего-то еще.

1 Ответ

0 голосов
/ 02 апреля 2019

После расследования я нашел, как получить доступ к json.Сначала перемещали файл из res/assets в res/raw

, затем измените эту строку:

InputStream in = this.getAssets().open("credentials.json");

на эту

InputStream in = this.getResources().openRawResource(R.raw.credentials);

И теперь файл будетчитать без проблем

...