gpt4 book ai didi

android - 从 Assets 文件夹读取 Excel 工作簿时出现问题

转载 作者:行者123 更新时间:2023-11-30 03:29:03 25 4
gpt4 key购买 nike

通常我喜欢将我的应用程序文件保存在 assets 中,然后我从该文件夹中读取我的文件。所以,当我试图从 Assets 文件夹中读取我的 excel 文件(这是一个 97-2003 工作簿)时,它失败了(进程 - 1)。但是,当我使用 adb.exe 将文件推送到 /mnt/sdcard/ 然后尝试从那里读取时,它有效(进程 - 2)。

流程代码 - 1:

File inputWorkbook = new File((assetManager.open("myFile.xls")).toString());

异常显示:

java.io.FileNotFoundException: /android.content.res.AssetManager$AssetInputStream@40cd4ce0: open failed: ENOENT (No such file or directory)

流程代码 - 2:

File inputWorkbook = new File(Environment.getExternalStorageDirectory()+"/myFile.xls");

1> 谁能告诉我,我做错了什么?

2> 此外,我保存在 Assets 中的文件的文件大小是否有任何限制?如果是这样,那么我可以将它保存在其他地方吗?

谢谢。

编辑:我有这个可以工作:

InputStream dbInputStream = context.getAssets().open("myFile.xls");

不过,我还是想知道任何替代解决方案,如果有人有这样的解决方案以及我的第二个问题的答案。

最佳答案

一种方式(从 Assets 文件夹读取):

AssetManager assetManager =   m.getInstrumentation().getContext().getResources().getAssets();
InputStream in = assetManager.open(filename);

另一种方式(从/mnt/sdcard/Android/data/file读取)

File file = new File(m.getInstrumentation().getContext().getExternalFilesDir(null), filename);
fis = new FileInputStream(file);

关于android - 从 Assets 文件夹读取 Excel 工作簿时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17786309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com