0
我需要在內存中存儲一個字節[]。我需要稍後訪問它。字節[]代表一個視頻。以下代碼將允許將文件寫入內存,以及從內存訪問。當調用下面顯示的remove方法時,它仍然可以稍後訪問。Xamarin.Forms在運行時刪除文件iOS
我已檢查路徑名是否相同。
public void StoreVideo(byte[] video, string filename)
{
var documents = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
var directoryname = Path.Combine(documents, "Videos");
Directory.CreateDirectory(directoryname);
var path = Path.Combine(directoryname, filename);
File.WriteAllBytes(path, video);
}
public void RemoveVideo(string filename)
{
var documents = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
var directoryname = Path.Combine(documents, "Videos");
var path = Path.Combine(directoryname, filename);
File.Delete(filename);
}
public byte[] GetVideo(string filename)
{
var documents = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
var directoryname = Path.Combine(documents, "Videos");
var path = Path.Combine(directoryname, filename);
if(File.Exists(path))
{
return File.ReadAllBytes(path);
}
return null;
}
File.Delete應該在用戶可寫文件夾上正常工作。你檢查過拋出的異常嗎?在File.Delete調用之後使用File.Exists來檢查怎麼辦? – Jason
感謝您的回覆。這給了更奇怪的行爲。作爲RemoveVideo中的最後一行,將File.Exists(文件名)分配給布爾,結果爲「false」。 – NPC
關於這個奇怪的部分是GetVideo在這次調用後仍然有效。這些方法按照上面列出的順序調用 – NPC