如何在MAUI应用程序中读取/写入android外部存储文件夹中的所有/特定文件?我知道在Xamarin中有本地方法可以做到这一点。安卓,但在这里我正在寻找更现代的抽象方式来实现它。请帮助。
具体来说,我正在寻找一些抽象/API来列出Android平台上的文件。下面的内容将是理想的或类似的-
var files = Directory.GetFiles(<FolderPath>)
任何指针都很有用。非常感谢。
以。txt文件为例。
MainPage.xaml:
...
<VerticalStackLayout>
<Button Text="File"
Clicked="file_clicked"/>
<Button Text="Read_file"
Clicked="Read_file"/>
</VerticalStackLayout>
在mainpage . example .cs中,您可以添加以下内容:
//string targetFile = System.IO.Path.Combine(FileSystem.Current.AppDataDirectory, "TextFile3.txt");
// Write the file content to the app data directory
private async void file_clicked(object sender, EventArgs e)
{
#if ANDROID
//var docsDirectory = Android.App.Application.Context.GetExternalFilesDir(Android.OS.Environment.DirectoryDocuments);
//File.WriteAllText($"{docsDirectory.AbsoluteFile.Path}/atextfile.txt", "contents are here");
var docsDirectory = Android.App.Application.Context.GetExternalFilesDir(Android.OS.Environment.DirectoryDcim);
File.WriteAllText($"{docsDirectory.AbsoluteFile.Path}/atextfile.txt", "contents are here");
#endif
//using FileStream outputStream = System.IO.File.OpenWrite(targetFile);
//using StreamWriter streamWriter = new StreamWriter(outputStream);
//await streamWriter.WriteAsync("ssss");
}
//read file
private async void Read_file(object sender, EventArgs e)
{
#if ANDROID
var docsDirectory = Android.App.Application.Context.GetExternalFilesDir(Android.OS.Environment.DirectoryDcim);
var a = File.OpenRead($"{docsDirectory.AbsoluteFile.Path}/atextfile.txt");
using StreamReader reader_1 = new StreamReader(a);
var doc = await reader_1.ReadToEndAsync();
await DisplayAlert("content", doc, "OK");
#endif
//using FileStream outputStream_2 = System.IO.File.OpenRead(targetFile);
//using StreamReader reader_2 = new StreamReader(outputStream_2);
//string content_2 = await reader_2.ReadToEndAsync();
//content_2 = content_2.ToUpperInvariant();
}
这就是我的android手机的工作方式。当你最终将数据写入外部文件时,你可以将其作为内部文件读到笔记本电脑中。把这个算出来。您读取和写入一个sd卡文件。
我不能让这个代码在三星平板电脑上工作。读取外部文件
通过编程编写和读取文件,我只能让它与外部调试器(推和拉adb)一起工作。我找不到任何其他方法来编程从PC到android手机的文件传输。
现在,我只能找到调试方法!!