[英]Windows IoT Raspberry Pi 3 c# Check Folder Exist Create if not
我試圖檢查文件夾是否存在..如果不存在,則需要創建一個文件夾。 如果該文件夾不存在並創建一個文件夾,我的代碼似乎可以正常工作...但是在創建該文件夾之后。.它會遇到異常處理程序..我不確定哪里出錯了..請指教。 謝謝。
StorageFolder externalDevices = KnownFolders.RemovableDevices;
IReadOnlyList<StorageFolder> externalDrives = await externalDevices.GetFoldersAsync();
StorageFolder usbStorage = externalDrives[0];
String folderName = "Recordings";
String fileName = DateTime.Now.ToString();
if (!Directory.Exists(folderName))
{
await usbStorage.CreateFolderAsync(folderName);
}
await usbStorage.GetFolderAsync(folderName);
StorageFolder recordFolder = await usbStorage.GetFolderAsync(folderName);
StorageFile recordFile = await recordFolder.CreateFileAsync("Recording -" + DateTime.Now.ToString("yyyy-dd-M--HH-mm-ss") + ".mp3", Windows.Storage.CreationCollisionOption.GenerateUniqueName);
RecordStatus.Text = "File setup OK ... ";
首先,這里不適合使用Directory.Exists檢查折疊是否存在。 Directory.Exists方法的path參數允許指定相對或絕對路徑信息。 相對路徑信息被解釋為相對於當前工作目錄。 但是在您的代碼中,folderName並不是相對於您的工作目錄的(事實上,您的工作目錄是Windows.ApplicationModel.Package.Current.InstalledLocation)。
其次,在UWP中,CreateFolderAsync方法具有帶有CreationCollisionOption參數的重載方法。
請在您的代碼中更改此部分
if (!Directory.Exists(folderName)) { await usbStorage.CreateFolderAsync(folderName); }
至
await usbStorage.CreateFolderAsync(folderName, CreationCollisionOption.OpenIfExists);
一切都會安好的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.