File 在外部存储器[Xamarin.Froms]中保存扩展名为CSV的文件
我有数据,想写入csv文件并保存在手机存储器中。 所以我写了这段代码来保存文件File 在外部存储器[Xamarin.Froms]中保存扩展名为CSV的文件,file,xamarin.forms,xamarin.android,export-to-csv,File,Xamarin.forms,Xamarin.android,Export To Csv,我有数据,想写入csv文件并保存在手机存储器中。 所以我写了这段代码来保存文件 string csv = Models.CSVHelper.GetCSV<TigerProgram>(item); var path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "data.csv"); using (var writer
string csv = Models.CSVHelper.GetCSV<TigerProgram>(item);
var path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments),
"data.csv");
using (var writer = File.CreateText(path))
{
writer.Write(csv);
}
string csv=Models.CSVHelper.GetCSV(项目);
var path=path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments),
“data.csv”);
使用(var writer=File.CreateText(路径))
{
writer.Write(csv);
}
我没有遇到任何异常,所以我认为文件已保存,但我只能在运行时使用我不需要的代码进行访问。我想保存在外部存储中,以便轻松获取文件。那么,我如何将文件保存在外部存储中呢?我使用依赖关系服务从Xamarin.android.Created接口获取Xamarin.Forms和在Xamarin.Android中实现它,然后解析接口,得到如下路径
var newPath = Path.Combine(DependencyService.Get<IFileSystem>().GetExternalStorage(),
"data1.txt");
using (var writer = File.CreateText(path))
{
writer.Write(csv);
}
在
onCreate()
中调用此函数以解决权限错误为什么要使用写入一行的WriteLineAsync
?为什么不直接使用File.writealText()
?你如何确定它“不起作用”?您是否遇到异常或错误?好的,我使用了该选项,但在存储器中找不到该文件。是否仍要将该文件保存在下载文件夹中?谢谢回复。您必须使用DownloadManager API。您可以使用ADB查找保存在应用程序文件夹中的文件。您可以提供任何链接以供参考吗?这真的会很有帮助。或者上面的代码如何让它工作呢?谷歌提供了使用DownloadManager的示例。正如我刚才解释的,您写入应用程序文件夹的文件可以使用adb查看。您可以将自己标记为解决方案,然后它将帮助其他人。
private void CheckAppPermissions()
{
if ((int)Build.VERSION.SdkInt < 23)
{
return;
}
else
{
if (PackageManager.CheckPermission(Manifest.Permission.ReadExternalStorage, PackageName) != Permission.Granted
&& PackageManager.CheckPermission(Manifest.Permission.WriteExternalStorage, PackageName) != Permission.Granted)
{
var permissions = new string[] {
Manifest.Permission.ReadExternalStorage, Manifest.Permission.WriteExternalStorage };
RequestPermissions(permissions, 1);
}
}
}