我正在使用 PDF 查看器库在 Android 应用程序中查看 PDF。我浏览了很多教程,其中之一是Dipak 的教程。我想访问存储在我的资产文件夹中的 PDF 文件,而不是访问外部存储。我的问题是,我无法找到正确的“路径”。它总是返回找不到文件。
我尝试了以下方法,仍然产生相同的结果:
- this.getAssets()
- 文件:///android_assets/file_name.pdf
- 文件:///android_asset/file_name.pdf
您无法从资产中获取路径,必须在 sd 或内部存储器中正确获取路径。
对于 SD 卡
首先获得许可
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
然后写在卡片上
File f = new File(Environment.getExternalStorageDirectory() + "file.pdf");
if (!f.exists()) try {
InputStream is = getAssets().open("file.pdf");
int size = is.available();
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
FileOutputStream fos = new FileOutputStream(f);
fos.write(buffer);
fos.close();
} catch (Exception e) { throw new RuntimeException(e); }
Staring path = f.getPath();