C# Directory.Exists的代码示例
通过代码示例来学习C# Directory.Exists方法
通过代码示例来学习编程是非常高效的。
1. 代码示例提供了一个具体而直观的学习环境,使初学者能够立即看到编程概念和语法的实际应用。
2. 通过分析和模仿现有的代码实例,初学者可以更好地理解编程逻辑和算法的工作原理。
3. 代码实例往往涵盖了多种编程技巧和最佳实践,通过学习和模仿这些实例,学习者可以逐步掌握如何编写高效、可读性强和可维护的代码。这对于初学者来说,是一种快速提升编程水平的有效途径。
Directory.Exists是C#的System.IO命名空间下中的一个方法, 小编为大家找了一些网络大拿们常见的代码示例,源码中的Directory.Exists() 已经帮大家高亮显示了,大家可以重点学习Directory.Exists() 方法的写法,从而快速掌握该方法的应用。
Directory.Exists的代码示例1 - New()
using System.IO; public void New() { tempFolder = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); int tries = 1; var baseFolder = tempFolder; while (Directory.Exists(tempFolder) && tries < 3) { tempFolder = $"{baseFolder}_{tries}"; tries++; } if (tries >= 3) throw new Exception("Failed to create temporary folder"); Directory.CreateDirectory(tempFolder); }
开发者ID:emoose,项目名称:DLSSTweaks,代码行数:17,代码来源:Utility.cs
在New()方法中,Directory的代码示例类中的Exists的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Directory.Exists的代码示例2 - MailMerge()
using System.IO; public static void MailMerge() { if( !Directory.Exists( MiscellaneousSample.MiscellaneousSampleOutputMailMergeDirectory ) ) { Directory.CreateDirectory( MiscellaneousSample.MiscellaneousSampleOutputMailMergeDirectory ); } foreach( var candidate in MiscellaneousSample.Canditates ) { // Load the templated document. var templateDoc = DocX.Load( MiscellaneousSample.MiscellaneousSampleResourcesDirectory + @"TemplateMailMerge.docx" ) as DocX; if( templateDoc != null ) { templateDoc.ReplaceText( new StringReplaceTextOptions() { SearchValue = "", NewValue = candidate.Address } ); templateDoc.ReplaceText( new StringReplaceTextOptions() { SearchValue = "
", NewValue = candidate.Name } ); templateDoc.SaveAs( MiscellaneousSample.MiscellaneousSampleOutputMailMergeDirectory + @"Acceptance_" + candidate.ID + ".docx" ); } } Console.WriteLine( "\tCreated: MailMerge documents\n" ); }
开发者ID:xceedsoftware,项目名称:DocX,代码行数:24,代码来源:MiscellaneousSample.cs
在MailMerge()方法中,Directory的代码示例类中的Exists的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Directory.Exists的代码示例3 - DeleteDirectoryWithUnlimitedRetries()
using System.IO; public static void DeleteDirectoryWithUnlimitedRetries(string path) { BashRunner runner = new BashRunner(); bool pathExists = Directory.Exists(path); int retryCount = 0; while (pathExists) { string output = runner.DeleteDirectory(path); pathExists = Directory.Exists(path); if (pathExists) { ++retryCount; Thread.Sleep(500); if (retryCount > 10) { retryCount = 0; if (Debugger.IsAttached) { Debugger.Break(); } } } } }
开发者ID:microsoft,项目名称:VFSForGit,代码行数:26,代码来源:BashRunner.cs
在DeleteDirectoryWithUnlimitedRetries()方法中,Directory的代码示例类中的Exists的代码示例方法一共出现了2次, 见黄色背景高亮显示的地方,欢迎大家点赞
Directory.Exists的代码示例4 - HandleAllDirectoryOperations()
using System.IO; private void HandleAllDirectoryOperations() { DiffTreeResult treeOp; while (this.diff.DirectoryOperations.TryDequeue(out treeOp)) { string absoluteTargetPath = Path.Combine(this.enlistment.WorkingDirectoryBackingRoot, treeOp.TargetPath); if (this.HasFailures) { return; } switch (treeOp.Operation) { case DiffTreeResult.Operations.Modify: case DiffTreeResult.Operations.Add: try { Directory.CreateDirectory(absoluteTargetPath); } catch (Exception ex) { EventMetadata metadata = new EventMetadata(); metadata.Add("Operation", "CreateDirectory"); metadata.Add(nameof(treeOp.TargetPath), absoluteTargetPath); this.tracer.RelatedError(metadata, ex.Message); this.HasFailures = true; } break; case DiffTreeResult.Operations.Delete: try { if (Directory.Exists(absoluteTargetPath)) { this.fileSystem.DeleteDirectory(absoluteTargetPath); } } catch (Exception ex) { // We are deleting directories and subdirectories in parallel if (Directory.Exists(absoluteTargetPath)) { EventMetadata metadata = new EventMetadata(); metadata.Add("Operation", "DeleteDirectory"); metadata.Add(nameof(treeOp.TargetPath), absoluteTargetPath); this.tracer.RelatedError(metadata, ex.Message); this.HasFailures = true; } } break; default: this.tracer.RelatedError("Ignoring unexpected Tree Operation {0}: {1}", absoluteTargetPath, treeOp.Operation); continue; } if (Interlocked.Increment(ref this.directoryOpCount) % NumOperationsPerStatus == 0) { EventMetadata metadata = new EventMetadata(); metadata.Add("DirectoryOperationsQueued", this.diff.DirectoryOperations.Count); metadata.Add("DirectoryOperationsCompleted", this.directoryOpCount); this.tracer.RelatedEvent(EventLevel.Informational, "CheckoutStatus", metadata); } } }
开发者ID:microsoft,项目名称:VFSForGit,代码行数:68,代码来源:CheckoutStage.cs
在HandleAllDirectoryOperations()方法中,Directory的代码示例类中的Exists的代码示例方法一共出现了2次, 见黄色背景高亮显示的地方,欢迎大家点赞
Directory.Exists的代码示例5 - TryCreateEnlistment()
using System.IO; private Result TryCreateEnlistment( string fullEnlistmentRootPathParameter, string normalizedEnlistementRootPath, out GVFSEnlistment enlistment) { enlistment = null; // Check that EnlistmentRootPath is empty before creating a tracer and LogFileEventListener as // LogFileEventListener will create a file in EnlistmentRootPath if (Directory.Exists(normalizedEnlistementRootPath) && Directory.EnumerateFileSystemEntries(normalizedEnlistementRootPath).Any()) { if (fullEnlistmentRootPathParameter.Equals(normalizedEnlistementRootPath, GVFSPlatform.Instance.Constants.PathComparison)) { return new Result($"Clone directory '{fullEnlistmentRootPathParameter}' exists and is not empty"); } return new Result($"Clone directory '{fullEnlistmentRootPathParameter}' ['{normalizedEnlistementRootPath}'] exists and is not empty"); } string gitBinPath = GVFSPlatform.Instance.GitInstallation.GetInstalledGitBinPath(); if (string.IsNullOrWhiteSpace(gitBinPath)) { return new Result(GVFSConstants.GitIsNotInstalledError); } this.CheckGVFSHooksVersion(tracer: null, hooksVersion: out _); try { enlistment = new GVFSEnlistment( normalizedEnlistementRootPath, this.RepositoryURL, gitBinPath, authentication: null); } catch (InvalidRepoException e) { return new Result($"Error when creating a new GVFS enlistment at '{normalizedEnlistementRootPath}'. {e.Message}"); } return new Result(true); }
开发者ID:microsoft,项目名称:VFSForGit,代码行数:44,代码来源:CloneVerb.cs
在TryCreateEnlistment()方法中,Directory的代码示例类中的Exists的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Directory.Exists的代码示例6 - DeleteDirectoryWithUnlimitedRetries()
using System.IO; public static void DeleteDirectoryWithUnlimitedRetries(string path) { CmdRunner runner = new CmdRunner(); bool pathExists = Directory.Exists(path); int retryCount = 0; while (pathExists) { string output = runner.DeleteDirectory(path); pathExists = Directory.Exists(path); if (pathExists) { ++retryCount; Thread.Sleep(500); if (retryCount > 10) { retryCount = 0; if (Debugger.IsAttached) { Debugger.Break(); } } } } }
开发者ID:microsoft,项目名称:VFSForGit,代码行数:26,代码来源:CmdRunner.cs
在DeleteDirectoryWithUnlimitedRetries()方法中,Directory的代码示例类中的Exists的代码示例方法一共出现了2次, 见黄色背景高亮显示的地方,欢迎大家点赞
Directory.Exists的代码示例7 - Execute()
using System.IO; public override bool Execute() { string templateFilePath = this.Template.ItemSpec; IDictionary
properties = ParseProperties(this.Template.GetMetadata("Properties")); string outputFileDirectory = Path.GetDirectoryName(this.OutputFile); if (!File.Exists(templateFilePath)) { this.Log.LogError("Failed to find template file '{0}'.", templateFilePath); return false; } // Copy the template to the destination to keep the same file mode bits/ACLs as the template File.Copy(templateFilePath, this.OutputFile, true); this.Log.LogMessage(MessageImportance.Low, "Reading template contents"); string template = File.ReadAllText(this.OutputFile); this.Log.LogMessage(MessageImportance.Normal, "Compiling template '{0}'", templateFilePath); string compiled = Compile(template, properties); if (!Directory.Exists(outputFileDirectory)) { this.Log.LogMessage(MessageImportance.Low, "Creating output directory '{0}'", outputFileDirectory); Directory.CreateDirectory(outputFileDirectory); } this.Log.LogMessage(MessageImportance.Normal, "Writing compiled template to '{0}'", this.OutputFile); File.WriteAllText(this.OutputFile, compiled); this.CompiledTemplate = new TaskItem(this.OutputFile, this.Template.CloneCustomMetadata()); return true; }
开发者ID:microsoft,项目名称:VFSForGit,代码行数:37,代码来源:CompileTemplatedFile.cs
在Execute()方法中,Directory的代码示例类中的Exists的代码示例方法一共出现了2次, 见黄色背景高亮显示的地方,欢迎大家点赞
Directory.Exists的代码示例8 - DiagnoseProducesZipFile()
using System.IO; [TestCase] public void DiagnoseProducesZipFile() { Directory.Exists(this.Enlistment.DiagnosticsRoot).ShouldEqual(false); string output = this.Enlistment.Diagnose(); output.ShouldNotContain(ignoreCase: true, unexpectedSubstrings: "Failed"); IEnumerable
files = Directory.EnumerateFiles(this.Enlistment.DiagnosticsRoot); files.ShouldBeNonEmpty(); string zipFilePath = files.First(); zipFilePath.EndsWith(".zip").ShouldEqual(true); output.Contains(zipFilePath).ShouldEqual(true); }
开发者ID:microsoft,项目名称:VFSForGit,代码行数:16,代码来源:DiagnoseTests.cs
在DiagnoseProducesZipFile()方法中,Directory的代码示例类中的Exists的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
本文中的Directory.Exists方法示例由csref.cn整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。