c# - Xamarin.Forms 在运行时删除文件 iOS

标签 c# ios xamarin.forms

我需要在内存中存储一​​个 byte[]。我需要稍后访问它。 byte[] 代表一个视频。下面的代码将允许将文件写入内存,以及从内存中访问。当调用如下所示的remove方法时,后面仍然可以访问。

我已经检查过路径名是相同的。

        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.Delete 方法包装为对 File.Exists 的检查应该是一种很好的做法

关于c# - Xamarin.Forms 在运行时删除文件 iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45313257/

相关文章:

xamarin - 使用隐藏在 Xamarin.Forms 中的 C# 代码访问控件

c# - 为什么在 c# 中 2.135 总是四舍五入(使用 2 位小数)到 2.13

c# - 如何在让 Designer 满意的同时将依赖注入(inject)应用于 UserControl View ?

iOS 7 私有(private) API 使用

xamarin.forms - 如何为控件模板提供 BindingContext

c# - 将颜色动态绑定(bind)到 Xamarin Shape

c# - ASP.NET 从代码隐藏设置页面标题

c# - 以任意顺序对列表 C# 进行排序

ios - 插入 block 回调到 NSMutableDictionary

ios - IBOutlet NSLayoutConstraint 没有给出值