C# FileInfo.Delete的代码示例

通过代码示例来学习C# FileInfo.Delete方法

通过代码示例来学习编程是非常高效的。
1. 代码示例提供了一个具体而直观的学习环境,使初学者能够立即看到编程概念和语法的实际应用。
2. 通过分析和模仿现有的代码实例,初学者可以更好地理解编程逻辑和算法的工作原理。
3. 代码实例往往涵盖了多种编程技巧和最佳实践,通过学习和模仿这些实例,学习者可以逐步掌握如何编写高效、可读性强和可维护的代码。这对于初学者来说,是一种快速提升编程水平的有效途径。


FileInfo.Delete是C#的System.IO命名空间下中的一个方法, 小编为大家找了一些网络大拿们常见的代码示例,源码中的FileInfo.Delete() 已经帮大家高亮显示了,大家可以重点学习FileInfo.Delete() 方法的写法,从而快速掌握该方法的应用。

FileInfo.Delete的代码示例1 - NewFileAttributesAreUpdated()

    using System.IO;

        [TestCaseSource(typeof(FileRunnersAndFolders), nameof(FileRunnersAndFolders.Folders))]
        public void NewFileAttributesAreUpdated(string parentFolder)
        {
            string filename = Path.Combine(parentFolder, "FileAttributesAreUpdated");
            FileSystemRunner fileSystem = FileSystemRunner.DefaultRunner;

            string virtualFile = this.Enlistment.GetVirtualPathTo(filename);
            virtualFile.ShouldNotExistOnDisk(fileSystem);

            File.Create(virtualFile).Dispose();
            virtualFile.ShouldBeAFile(fileSystem);

            // Update defaults. FileInfo is not batched, so each of these will create a separate Open-Update-Close set.
            FileInfo before = new FileInfo(virtualFile);
            DateTime testValue = DateTime.Now + TimeSpan.FromDays(1);
            before.CreationTime = testValue;
            before.LastAccessTime = testValue;
            before.LastWriteTime = testValue;
            before.Attributes = FileAttributes.Hidden;

            // FileInfo caches information. We can refresh, but just to be absolutely sure...
            virtualFile.ShouldBeAFile(fileSystem).WithInfo(testValue, testValue, testValue, FileAttributes.Hidden);

            File.Delete(virtualFile);
            virtualFile.ShouldNotExistOnDisk(fileSystem);
        }
    

开发者ID:microsoft,项目名称:VFSForGit,代码行数:28,代码来源:BasicFileSystemTests.cs

在NewFileAttributesAreUpdated()方法中,FileInfo的代码示例类中的Delete的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

FileInfo.Delete的代码示例2 - DeleteDirectory()

    using System.IO;

        public virtual void DeleteDirectory(string path, bool recursive = true, bool ignoreDirectoryDeleteExceptions = false)
        {
            if (!Directory.Exists(path))
            {
                return;
            }

            DirectoryInfo directory = new DirectoryInfo(path);

            if (recursive)
            {
                foreach (FileInfo file in directory.GetFiles())
                {
                    file.Attributes = FileAttributes.Normal;
                    file.Delete();
                }

                foreach (DirectoryInfo subDirectory in directory.GetDirectories())
                {
                    this.DeleteDirectory(subDirectory.FullName, recursive, ignoreDirectoryDeleteExceptions);
                }
            }

            try
            {
                directory.Delete();
            }
            catch (Exception)
            {
                if (!ignoreDirectoryDeleteExceptions)
                {
                    throw;
                }
            }
        }
    

开发者ID:microsoft,项目名称:VFSForGit,代码行数:37,代码来源:PhysicalFileSystem.cs

在DeleteDirectory()方法中,FileInfo的代码示例类中的Delete的代码示例方法一共出现了2次, 见黄色背景高亮显示的地方,欢迎大家点赞

FileInfo.Delete的代码示例3 - DeleteDirectory()

    using System.IO;

        public override string DeleteDirectory(string path)
        {
            DirectoryInfo directory = new DirectoryInfo(path);

            foreach (FileInfo file in directory.GetFiles())
            {
                file.Attributes = FileAttributes.Normal;

                RetryOnException(() => file.Delete());
            }

            foreach (DirectoryInfo subDirectory in directory.GetDirectories())
            {
                this.DeleteDirectory(subDirectory.FullName);
            }

            RetryOnException(() => directory.Delete());
            return string.Empty;
        }
    

开发者ID:microsoft,项目名称:VFSForGit,代码行数:21,代码来源:SystemIORunner.cs

在DeleteDirectory()方法中,FileInfo的代码示例类中的Delete的代码示例方法一共出现了2次, 见黄色背景高亮显示的地方,欢迎大家点赞

FileInfo.Delete的代码示例4 - CreateResilientPackage()

    using System.IO;

        static void CreateResilientPackage(Session session)
        {
            var productCode = session.Property("ProductCode");

            var userSID = session.Property("ALLUSERS") == "1" ? "S-1-5-18" : session.Property("UserSID");
            var localPackage = GetLocalPackageFromRegistry(productCode, userSID);

            session.Log($"LocalPackage:'{localPackage}'");

            var resilientLocation = session.Property(WIXSHARP_RESILIENT_SOURCE_DIR);
            var originalPackage = session.Property("OriginalDatabase");
            var packageName = IO.Path.GetFileName(originalPackage);
            if (string.IsNullOrEmpty(packageName))
            {
                throw new ArgumentNullException($"PackageName is null.");
            }
            var resilientPackage = IO.Path.Combine(resilientLocation, packageName);

            var resilientPackageInfo = new IO.FileInfo(resilientPackage);
            if (resilientPackageInfo.Exists && resilientPackage.Equals(originalPackage, StringComparison.OrdinalIgnoreCase) && !IsSymbolicLink(resilientPackageInfo))
            {
                return;
            }

            IO.File.Delete(resilientPackage);

            // NOTES: * CreateSymbolicLink() fails under Windows 7 in the elevated context (works with Windows 8 and above),
            //          so the execution falls back to the CreateHardLink().
            //
            //        * Non-elevated installers don't have access to the %WINDIR%\Installer, so the execution falls back to the file copying.
            //
            //        * One should be careful with trying to created a hard link to the "originalPackage", because when MSI is installed through
            //          the NSIS bootstrapper, the bootstrapper is extracting MSI in a temporary folder with very restrictive access rights.
            //          A hard link to the MSI has the same restrictive access rights preventing it from doing repairs through ARP applet.
            //
            //        * Hard links should not be created to the "localPackage" (e.g. %WINDIR%\Installer\xxxxxxx.msi), because during the uninstall
            //          the local package file and therefore the hard-linked file are both locked by MSI installer and cannot be removed.

            // Create a symbolic link
            var result = CreateSymbolicLink(resilientPackage, localPackage, SymbolicLinkFlag.File);
            if (!result)
            {
                var errorMessage = new Win32Exception(Marshal.GetLastWin32Error()).Message;
                session.Log($"Failed to create a symbolic link. Link:'{resilientPackage}' Target:'{localPackage}' Error:{errorMessage}");
            }

            // Copy the file
            if (!result)
            {
                IO.File.Copy(originalPackage, resilientPackage, true);
            }
        }
    

开发者ID:oleg-shilo,项目名称:wixsharp,代码行数:54,代码来源:ResilientPackage.cs

在CreateResilientPackage()方法中,FileInfo的代码示例类中的Delete的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

FileInfo.Delete的代码示例5 - ClearDownload()

    using System.IO;

        /// 
        /// 启动时删除Temp/Download目录下的下载文件,启动时调一次即可
        /// 
        private void ClearDownload() {
            try {
                foreach (var fileFullName in Directory.GetFiles(MinerClientTempPath.DownloadDirFullName)) {
                    FileInfo fileInfo = new FileInfo(fileFullName);
                    if (fileInfo.LastWriteTime.AddDays(1) < DateTime.Now) {
                        try {
                            File.Delete(fileFullName);
                        }
                        catch {
                        }
                    }
                }
            }
            catch (Exception e) {
                Logger.ErrorDebugLine(e);
            }
        }
    

开发者ID:ntminer,项目名称:NtMiner,代码行数:22,代码来源:Cleaner.cs

在ClearDownload()方法中,FileInfo的代码示例类中的Delete的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

FileInfo.Delete的代码示例6 - Run()

    using System.IO;

        private static void Run() {
            try {
                Windows.ConsoleHandler.Register(Exit);
                BuildEventPath("呼吸表示活着", LogEnum.None, typeof(VirtualRoot), PathPriority.Normal,
                    path: message => {
                        NoDevFee.NoDevFeeUtil.StartAsync();
                    });
                BuildEventPath("周期清理日志文件", LogEnum.None, typeof(VirtualRoot), PathPriority.Normal,
                    path: message => {
                        #region
                        try {
                            List toRemoves = new List();
                            foreach (var file in Directory.GetFiles(Logger.DirFullPath)) {
                                FileInfo fileInfo = new FileInfo(file);
                                if (fileInfo.LastWriteTime.AddDays(2) < DateTime.Now) {
                                    toRemoves.Add(file);
                                }
                            }
                            if (toRemoves.Count == 0) {
                                Logger.OkDebugLine("没有过期的Log");
                            }
                            else {
                                foreach (var item in toRemoves) {
                                    File.Delete(item);
                                }
                                Logger.OkDebugLine("过期Log清理完成");
                            }
                        }
                        catch (Exception e) {
                            Logger.ErrorDebugLine(e);
                        }
                        #endregion
                    });
                _waitHandle.WaitOne();
                Exit();
            }
            catch (Exception e) {
                Logger.ErrorDebugLine(e);
            }
            finally {
                Exit();
            }
        }
    

开发者ID:ntminer,项目名称:NtMiner,代码行数:45,代码来源:VirtualRoot.cs

在Run()方法中,FileInfo的代码示例类中的Delete的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

FileInfo.Delete的代码示例7 - VerifyResults()

    using System.IO;

        private void VerifyResults(FileGeneratorTestHelper testHelper)
        {
            testHelper.Flush();

            string tmpFile1 = Path.GetTempFileName();
            string tmpFile2 = Path.GetTempFileName();
            try
            {
                // Check that generated content is different than default content of tmp file(empty)
                var fileInfo1 = new FileInfo(tmpFile1);
                var fileInfo2 = new FileInfo(tmpFile2);

                Assert.IsTrue(testHelper.Generator.IsFileDifferent(fileInfo1));
                Assert.IsTrue(testHelper.Generator.IsFileDifferent(fileInfo2));

                // Write the file using reference stream
                Assert.IsTrue(Util.FileWriteIfDifferentInternal(fileInfo1, testHelper.Stream, true));
                fileInfo1.Refresh();

                // Using second file to write a file using generator.
                Assert.IsTrue(testHelper.Generator.FileWriteIfDifferent(fileInfo2, true));
                fileInfo2.Refresh();

                // Verify that generator content is the same.
                Assert.IsFalse(testHelper.Generator.IsFileDifferent(fileInfo1));

                // Verify that written file is identical to stream
                Assert.IsFalse(Util.IsFileDifferent(fileInfo2, testHelper.Stream));

                // Read the two files and verify that they are identical
                var contentFile1 = File.ReadAllBytes(tmpFile1);
                var contentFile2 = File.ReadAllBytes(tmpFile2);
                ReadOnlySpan span1 = new ReadOnlySpan(contentFile1);
                ReadOnlySpan span2 = new ReadOnlySpan(contentFile2);
                Assert.IsTrue(span1.SequenceEqual(span2));
            }
            finally
            {
                File.Delete(tmpFile1);
                File.Delete(tmpFile2);
            }
        }
    

开发者ID:ubisoft,项目名称:Sharpmake,代码行数:44,代码来源:TestFileGenerator.cs

在VerifyResults()方法中,FileInfo的代码示例类中的Delete的代码示例方法一共出现了2次, 见黄色背景高亮显示的地方,欢迎大家点赞

FileInfo.Delete的代码示例8 - TryDeleteFile()

    using System.IO;

        public static bool TryDeleteFile(string filename, bool removeIfReadOnly = false)
        {
            try
            {
                var fileInfo = new FileInfo(filename);
                if (fileInfo.Exists)
                {
                    if (fileInfo.IsReadOnly)
                    {
                        if (!removeIfReadOnly)
                            return false;
                        fileInfo.IsReadOnly = false;
                    }
                    File.Delete(filename);
                }

                return true;
            }
            catch (Exception)
            {
                return false;
            }
        }
    

开发者ID:ubisoft,项目名称:Sharpmake,代码行数:25,代码来源:Util.cs

在TryDeleteFile()方法中,FileInfo的代码示例类中的Delete的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

本文中的FileInfo.Delete方法示例由csref.cn整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。