问题描述
我想访问包含在应用程序文件夹中的文件,并且我希望能够在本地访问它。我也不想使用像 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']]
访问资产。
要在您的资产上获得 File
,call getAssets()
on your Activity
or other Context
,然后是 call open()
on the AssetManager
returned by getAssets()
。
对于您对 InputStream
的调用,您需要将 open()
内的相对路径传递给您希望读入的资产。因此,如果您在 {{1} }},assets/
将为您提供一个 Activity
,您可以使用它来读取该特定资产的内容。