打开时出现 IOException credentials.json

IOException when opening credentials.json

我正在制作一个连接到 Google 日历 API 的应用程序,但每当我尝试加载客户端机密时,都会出现 IOException 跳转。

我试过从更改文件存储路径(首先它在应用程序文件夹中,然后我将其移动到 res/assets)到更改使用 [=14 打开文件的方式=]: 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 错误,我不确定是因为路径名、打开方式还是其他原因。

经过调查,我找到了如何访问 json。 首先是将文件从 res/assets 移动到 res/raw

然后更改此行:

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

到这个

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

现在文件可以正常读取了