C# 通过Xamarin.Android中的物理路径访问文件
目前,我正在使用Xamarin.Android制作我的一个应用程序,它需要在手机上物理访问一些文件,而不是在APK中 我的文件目前位于项目的“资产”文件夹中,并标记为“AndroidAsset”,但问题是我无法获得这些文件的路径,因为它们显然嵌入在APK中 我的要求是,我需要能够通过一个简单的路径访问我的应用程序中的文件,因为我有一个第三方库,它需要一个特定文件的路径来读取 是否可以在部署时以某种方式创建一个文件夹,在其中部署并通过静态路径访问我的文件 如果没有,那么在向需要特定文件路径的第三方库传递路径方面有哪些替代方案C# 通过Xamarin.Android中的物理路径访问文件,c#,android,.net,xamarin,xamarin.android,C#,Android,.net,Xamarin,Xamarin.android,目前,我正在使用Xamarin.Android制作我的一个应用程序,它需要在手机上物理访问一些文件,而不是在APK中 我的文件目前位于项目的“资产”文件夹中,并标记为“AndroidAsset”,但问题是我无法获得这些文件的路径,因为它们显然嵌入在APK中 我的要求是,我需要能够通过一个简单的路径访问我的应用程序中的文件,因为我有一个第三方库,它需要一个特定文件的路径来读取 是否可以在部署时以某种方式创建一个文件夹,在其中部署并通过静态路径访问我的文件 如果没有,那么在向需要特定文件路径的第三方
谢谢 如果要从“资产”文件夹访问文件,需要将该文件复制到下面的位置- var documentsFolderPath=System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments)强> {var destinationPath=Path.Combine(documentsFolderPath,“DesiredFileName.Extension”) 使用下面的代码访问文件-
string documentsPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); // Documents folder
var path = Path.Combine(documentsPath, "DesiredFileName.extention");
如果还有其他问题,请告诉我。您需要以编程方式将Android资产复制到应用程序沙盒的数据或缓存目录中,并将您的库传递给我path@SushiHangover这很有道理,谢谢你。
using (var asset = Assets.Open("YourFileName.extention"))
using (var dest = File.Create(destinationPath))
asset.CopyTo(dest);
}
string documentsPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); // Documents folder
var path = Path.Combine(documentsPath, "DesiredFileName.extention");