我正在尝试将文件从我的应用程序文件夹复制到公共文档文件夹,以便我可以在需要时访问它。我正在为 Android 操作系统编写此代码。这是我到目前为止的代码:
string sourceDirectoryPath = Path.Combine(FileSystem.Current.AppDataDirectory, "Logs");
if (!Directory.Exists(sourceDirectoryPath))
{
//No logs
return;
}
string documentsFolder = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
string destinationDirectoryPath = Path.Combine(documentsFolder, "Logs");
if (!Directory.Exists(destinationDirectoryPath))
{
Directory.CreateDirectory(destinationDirectoryPath);
}
foreach (string file in Directory.GetFiles(sourceDirectoryPath))
{
string destinationFile = Path.Combine(destinationDirectoryPath, Path.GetFileName(file));
File.Copy(file, destinationFile, overwrite: true);
}
我尝试过使用
Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
,但它指向/data/user/0/MyApp/files/Documents
。如何使 documentsFolder
指向 /storage/emulated/0/Documents
?
当然,
Environment.SpecialFolder.MyDocuments;
将返回您应用程序的个人文档文件夹。
要获取公共文档文件夹路径,请尝试以下操作。
string documentsPath = string.empty;
#if ANDROID
documentsPath = global::Android.OS.Environment.GetExternalStoragePublicDirectory(global::Android.OS.Environment.DirectoryDocuments)?.AbsolutePath;
#endif