为什么android无法找到我的文件?

问题描述

我想访问包含在应用程序文件夹中的文件,并且我希望能够在本地访问它。我也不想使用像 android.getresources() 这样的方法,而只是使用 File file = new File( filePath ); 我的文件保存在 app/src/main/assets/ball.obj

问题是当我执行 File file = new File("app/src/main/assets/ball.obj"); 时,它总是给我一个 FileNotFoundException。我也尝试在其他地方和绝对路径中移动文件,但它仍然不起作用。请帮忙。

解决方法

我的文件保存在 app/src/main/assets/ball.obj

这是开发机器上文件的相对路径。 资产不是设备文件系统上的文件。您不能使用 [g.values.tolist() for _,g in df.Product.groupby(df['Order ID'])] # [['USB','Bat'],['Ball'],['USB','Phone','Toy'],['Bike','Apple']] 访问资产。

要在您的资产上获得 Filecall getAssets() on your Activity or other Context,然后是 call open() on the AssetManager returned by getAssets()

对于您对 InputStream 的调用,您需要将 open() 内的相对路径传递给您希望读入的资产。因此,如果您在 {{1} }},assets/ 将为您提供一个 Activity,您可以使用它来读取该特定资产的内容。