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;未经允许,请勿转载。