C# Path.GetFileName的代码示例
通过代码示例来学习C# Path.GetFileName方法
通过代码示例来学习编程是非常高效的。
1. 代码示例提供了一个具体而直观的学习环境,使初学者能够立即看到编程概念和语法的实际应用。
2. 通过分析和模仿现有的代码实例,初学者可以更好地理解编程逻辑和算法的工作原理。
3. 代码实例往往涵盖了多种编程技巧和最佳实践,通过学习和模仿这些实例,学习者可以逐步掌握如何编写高效、可读性强和可维护的代码。这对于初学者来说,是一种快速提升编程水平的有效途径。
Path.GetFileName是C#的System.IO命名空间下中的一个方法, 小编为大家找了一些网络大拿们常见的代码示例,源码中的Path.GetFileName() 已经帮大家高亮显示了,大家可以重点学习Path.GetFileName() 方法的写法,从而快速掌握该方法的应用。
Path.GetFileName的代码示例1 - SearchForGameExe()
using System.IO; string SearchForGameExe(string dirPath) { List
filesToCheck = new List (); // Try searching for UE4/UE5 specific EXE name var allExeFiles = Directory.GetFiles(dirPath, "*.exe", SearchOption.AllDirectories); foreach (var filePath in allExeFiles) { var fileName = Path.GetFileNameWithoutExtension(filePath).ToLower(); if (fileName.Contains("-win") && fileName.EndsWith("-shipping")) filesToCheck.Add(filePath); } // blacklist some DLLs that are known to not be relevant var blacklistDlls = new string[] { "dlsstweak", "igxess", "libxess", "nvngx", "EOSSDK-", "steam_api", "sl.", "D3D12", "dstorage", "PhysX", "NvBlast", "amd_", "PeanutButter." }; if (filesToCheck.Count <= 0) { // Fetch all EXE/DLL files in the chosen dir filesToCheck.AddRange(Directory.GetFiles(dirPath, "*.exe")); filesToCheck.AddRange(Directory.GetFiles(dirPath, "*.dll")); } long dllSizeMinimum = 2_097_152; // 2MB // Return largest EXE we find in the specified folder, most likely to be the game EXE // TODO: search subdirectories too and recommend user change folder if larger EXE was found? FileInfo largest = null; foreach (var file in filesToCheck) { var lowerName = Path.GetFileName(file).ToLower(); // Check against blacklistDlls array if (blacklistDlls.Any(blacklistDll => lowerName.StartsWith(blacklistDll.ToLower()))) continue; var info = new FileInfo(file); if (info.Extension.ToLower() == "dll" && info.Length < dllSizeMinimum) continue; if (largest == null || info.Length > largest.Length) largest = info; } if (largest == null) return null; return largest.FullName; }
开发者ID:emoose,项目名称:DLSSTweaks,代码行数:66,代码来源:Main.cs
在SearchForGameExe()方法中,Path的代码示例类中的GetFileName的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Path.GetFileName的代码示例2 - ChangeVirtualNTFSFileNameCase()
using System.IO; [TestCaseSource(typeof(FileRunnersAndFolders), nameof(FileRunnersAndFolders.Runners))] public void ChangeVirtualNTFSFileNameCase(FileSystemRunner fileSystem, string parentFolder) { string oldFilename = Path.Combine(parentFolder, "ChangePhysicalFileNameCase.txt"); string newFilename = Path.Combine(parentFolder, "changephysicalfilenamecase.txt"); string fileContents = "Hello World"; FileRunnersAndFolders.ShouldNotExistOnDisk(this.Enlistment, fileSystem, oldFilename, parentFolder); fileSystem.WriteAllText(this.Enlistment.GetVirtualPathTo(oldFilename), fileContents); this.Enlistment.GetVirtualPathTo(oldFilename).ShouldBeAFile(fileSystem).WithContents(fileContents); this.Enlistment.GetVirtualPathTo(oldFilename).ShouldBeAFile(fileSystem).WithCaseMatchingName(Path.GetFileName(oldFilename)); fileSystem.MoveFile(this.Enlistment.GetVirtualPathTo(oldFilename), this.Enlistment.GetVirtualPathTo(newFilename)); this.Enlistment.GetVirtualPathTo(newFilename).ShouldBeAFile(fileSystem).WithContents(fileContents); this.Enlistment.GetVirtualPathTo(newFilename).ShouldBeAFile(fileSystem).WithCaseMatchingName(Path.GetFileName(newFilename)); fileSystem.DeleteFile(this.Enlistment.GetVirtualPathTo(newFilename)); FileRunnersAndFolders.ShouldNotExistOnDisk(this.Enlistment, fileSystem, newFilename, parentFolder); }
开发者ID:microsoft,项目名称:VFSForGit,代码行数:22,代码来源:BasicFileSystemTests.cs
在ChangeVirtualNTFSFileNameCase()方法中,Path的代码示例类中的GetFileName的代码示例方法一共出现了2次, 见黄色背景高亮显示的地方,欢迎大家点赞
Path.GetFileName的代码示例3 - EditFileReadFileAndCheckoutConflict()
using System.IO; [TestCase] public void EditFileReadFileAndCheckoutConflict() { // editFilePath was changed on ConflictTargetBranch string editFilePath = Path.Combine("Test_ConflictTests", "ModifiedFiles", "ChangeInTarget.txt"); // readFilePath has different contents on ConflictSourceBranch and ConflictTargetBranch string readFilePath = Path.Combine("Test_ConflictTests", "ModifiedFiles", "ChangeInSource.txt"); this.ControlGitRepo.Fetch(GitRepoTests.ConflictSourceBranch); this.ControlGitRepo.Fetch(GitRepoTests.ConflictTargetBranch); this.ValidateGitCommand("checkout " + GitRepoTests.ConflictSourceBranch); this.EditFile("New content", editFilePath); this.FileContentsShouldMatch(readFilePath); string originalReadFileContents = this.Enlistment.GetVirtualPathTo(readFilePath).ShouldBeAFile(this.FileSystem).WithContents(); // This checkout will hit a conflict due to the changes in editFilePath this.ValidateGitCommand("checkout " + GitRepoTests.ConflictTargetBranch); this.FileContentsShouldMatch(readFilePath); this.FileContentsShouldMatch(editFilePath); // The contents of originalReadFileContents should not have changed this.Enlistment.GetVirtualPathTo(readFilePath).ShouldBeAFile(this.FileSystem).WithContents(originalReadFileContents); this.ValidateGitCommand("checkout -- " + editFilePath.Replace('\\', '/')); this.ValidateGitCommand("checkout " + GitRepoTests.ConflictTargetBranch); this.FileContentsShouldMatch(readFilePath); this.FileContentsShouldMatch(editFilePath); this.Enlistment.GetVirtualPathTo(readFilePath).ShouldBeAFile(this.FileSystem).WithContents().ShouldNotEqual(originalReadFileContents); GVFSHelpers.ModifiedPathsShouldNotContain(this.Enlistment, this.FileSystem, Path.GetFileName(readFilePath)); }
开发者ID:microsoft,项目名称:VFSForGit,代码行数:35,代码来源:CheckoutTests.cs
在EditFileReadFileAndCheckoutConflict()方法中,Path的代码示例类中的GetFileName的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Path.GetFileName的代码示例4 - CloneCreatesCorrectFilesInRoot()
using System.IO; [TestCase] public void CloneCreatesCorrectFilesInRoot() { GVFSFunctionalTestEnlistment enlistment = GVFSFunctionalTestEnlistment.CloneAndMount(GVFSTestConfig.PathToGVFS); try { string[] files = Directory.GetFiles(enlistment.EnlistmentRoot); files.Length.ShouldEqual(1); files.ShouldContain(x => Path.GetFileName(x).Equals("git.cmd", StringComparison.Ordinal)); string[] directories = Directory.GetDirectories(enlistment.EnlistmentRoot); directories.Length.ShouldEqual(2); directories.ShouldContain(x => Path.GetFileName(x).Equals(GVFSTestConfig.DotGVFSRoot, StringComparison.Ordinal)); directories.ShouldContain(x => Path.GetFileName(x).Equals("src", StringComparison.Ordinal)); } finally { enlistment.UnmountAndDeleteAll(); } }
开发者ID:microsoft,项目名称:VFSForGit,代码行数:21,代码来源:CloneTests.cs
在CloneCreatesCorrectFilesInRoot()方法中,Path的代码示例类中的GetFileName的代码示例方法一共出现了3次, 见黄色背景高亮显示的地方,欢迎大家点赞
Path.GetFileName的代码示例5 - DirectoryExists()
using System.IO; public override bool DirectoryExists(string path) { string parentDirectory = Path.GetDirectoryName(path); string targetName = Path.GetFileName(path); string output = this.RunProcess(string.Format("/C dir /A:d /B {0}", parentDirectory)); string[] directories = output.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries); foreach (string directory in directories) { if (directory.Equals(targetName, FileSystemHelpers.PathComparison)) { return true; } } return false; }
开发者ID:microsoft,项目名称:VFSForGit,代码行数:20,代码来源:CmdRunner.cs
在DirectoryExists()方法中,Path的代码示例类中的GetFileName的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Path.GetFileName的代码示例6 - TryBackupFilesInFolder()
using System.IO; private bool TryBackupFilesInFolder(ITracer tracer, string folderPath, string backupPath, string searchPattern, params string[] filenamesToSkip) { string errorMessage; foreach (string file in Directory.GetFiles(folderPath, searchPattern)) { string fileName = Path.GetFileName(file); if (!filenamesToSkip.Any(x => x.Equals(fileName, GVFSPlatform.Instance.Constants.PathComparison))) { if (!this.TryIO( tracer, () => File.Move(file, file.Replace(folderPath, backupPath)), $"Backing up {Path.GetFileName(file)}", out errorMessage)) { return false; } } } return true; }
开发者ID:microsoft,项目名称:VFSForGit,代码行数:23,代码来源:DehydrateVerb.cs
在TryBackupFilesInFolder()方法中,Path的代码示例类中的GetFileName的代码示例方法一共出现了2次, 见黄色背景高亮显示的地方,欢迎大家点赞
Path.GetFileName的代码示例7 - CopyLocalCacheData()
using System.IO; private void CopyLocalCacheData(string archiveFolderPath, string localCacheRoot, string gitObjectsRoot) { try { string localCacheArchivePath = Path.Combine(archiveFolderPath, GVFSConstants.DefaultGVFSCacheFolderName); Directory.CreateDirectory(localCacheArchivePath); if (!string.IsNullOrWhiteSpace(localCacheRoot)) { // Copy all mapping.dat files in the local cache folder (i.e. mapping.dat, mapping.dat.tmp, mapping.dat.lock) foreach (string filePath in Directory.EnumerateFiles(localCacheRoot, "mapping.dat*")) { string fileName = Path.GetFileName(filePath); try { File.Copy(filePath, Path.Combine(localCacheArchivePath, fileName)); } catch (Exception e) { this.WriteMessage(string.Format( "Failed to copy '{0}' from {1} to {2} with exception {3}", fileName, localCacheRoot, archiveFolderPath, e)); } } } if (!string.IsNullOrWhiteSpace(gitObjectsRoot)) { this.LogDirectoryEnumeration(gitObjectsRoot, localCacheArchivePath, GVFSConstants.DotGit.Objects.Pack.Name, "packs-cached.txt"); this.LogLooseObjectCount(gitObjectsRoot, localCacheArchivePath, string.Empty, "objects-cached.txt"); // Store all commit-graph files this.CopyAllFiles(gitObjectsRoot, localCacheArchivePath, GVFSConstants.DotGit.Objects.Info.Root, copySubFolders: true); } } catch (Exception e) { this.WriteMessage(string.Format("Failed to copy local cache data with exception: {0}", e)); } }
开发者ID:microsoft,项目名称:VFSForGit,代码行数:45,代码来源:DiagnoseVerb.cs
在CopyLocalCacheData()方法中,Path的代码示例类中的GetFileName的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Path.GetFileName的代码示例8 - CreateEsentBackgroundOpsDatabase()
using System.IO; public static void CreateEsentBackgroundOpsDatabase(string dotGVFSRoot) { // Copies an ESENT DB with a single entry: // Operation=6 (OnFirstWrite) Path=.gitattributes VirtualPath=.gitattributes Id=1 string testDataPath = GetTestDataPath(EsentBackgroundOpsFolder); string metadataPath = Path.Combine(dotGVFSRoot, EsentBackgroundOpsFolder); Directory.CreateDirectory(metadataPath); foreach (string filepath in Directory.EnumerateFiles(testDataPath)) { string filename = Path.GetFileName(filepath); File.Copy(filepath, Path.Combine(metadataPath, filename)); } }
开发者ID:microsoft,项目名称:VFSForGit,代码行数:15,代码来源:ESENTDatabase.cs
在CreateEsentBackgroundOpsDatabase()方法中,Path的代码示例类中的GetFileName的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
本文中的Path.GetFileName方法示例由csref.cn整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。