C# File.Replace的代码示例

通过代码示例来学习C# File.Replace方法

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


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

File.Replace的代码示例1 - 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()方法中,File的代码示例类中的Replace的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

File.Replace的代码示例2 - ExpandOneTempPack()

    using System.IO;

        private void ExpandOneTempPack(bool copyPackBackToPackDirectory)
        {
            // Find all pack files
            string[] packFiles = Directory.GetFiles(this.TempPackRoot, "pack-*.pack");
            Assert.Greater(packFiles.Length, 0);

            // Pick the first one found
            string packFile = packFiles[0];

            // Send the contents of the packfile to unpack-objects to example the loose objects
            // Note this won't work if the object exists in a pack file which is why we had to move them
            using (FileStream packFileStream = File.OpenRead(packFile))
            {
                string output = GitProcess.InvokeProcess(
                    this.Enlistment.RepoBackingRoot,
                    "unpack-objects",
                    new Dictionary() { { "GIT_OBJECT_DIRECTORY", this.GitObjectRoot } },
                    inputStream: packFileStream).Output;
            }

            if (copyPackBackToPackDirectory)
            {
                // Copy the pack file back to packs
                string packFileName = Path.GetFileName(packFile);
                File.Copy(packFile, Path.Combine(this.PackRoot, packFileName));

                // Replace the '.pack' with '.idx' to copy the index file
                string packFileIndexName = packFileName.Replace(".pack", ".idx");
                File.Copy(Path.Combine(this.TempPackRoot, packFileIndexName), Path.Combine(this.PackRoot, packFileIndexName));
            }
        }
    

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

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

File.Replace的代码示例3 - AutoGenerateSources()

    using System.IO;

        /// 
        /// Automatically generates required sources files for building the Bootstrapper. It is
        /// used to automatically generate the files which, can be generated automatically without
        /// user involvement (e.g. BootstrapperCore.config).
        /// 
        /// The output directory.
        public override void AutoGenerateSources(string outDir)
        {
            //NOTE: while it is tempting, AutoGenerateSources cannot be called during initialization as it is too early.
            //The call must be triggered by Compiler.Build* calls.
            rawAppAssembly = AppAssembly;
            if (rawAppAssembly.EndsWith("%this%"))
            {
                rawAppAssembly = Compiler.ResolveClientAsm(outDir); //NOTE: if a new file is generated then the Compiler takes care for cleaning any temps
                if (Payloads.FirstOrDefault(x => x.SourceFile == "%this%") is Payload payload_this)
                    payload_this.SourceFile = rawAppAssembly;
            }

            string asmName = Path.GetFileNameWithoutExtension(Utils.OriginalAssemblyFile(rawAppAssembly));

            var suppliedConfig = Payloads.Select(x => x.SourceFile).FirstOrDefault(x => Path.GetFileName(x).SameAs("BootstrapperCore.config", true));

            bootstrapperCoreConfig = suppliedConfig;
            if (bootstrapperCoreConfig == null)
            {
                bootstrapperCoreConfig = Path.Combine(outDir, "BootstrapperCore.config");

                sys.File.WriteAllText(bootstrapperCoreConfig,
                                      DefaultBootstrapperCoreConfigContent.Replace("{asmName}", asmName));

                Compiler.TempFiles.Add(bootstrapperCoreConfig);
            }

            // WiX does not check the validity of the BootstrapperCore.config so we need to do it
            try
            {
                var expectedAssemblyName = XDocument.Load(bootstrapperCoreConfig)
                                                    .FindFirst("host")
                                                    .Attribute("assemblyName")
                                                    .Value;

                if (asmName != expectedAssemblyName)
                {
                    Compiler.OutputWriteLine(
                        $"WARNING: It looks like your configured BA assembly name () " +
                        $"from `BootstrapperCore.config` file is not matching the actual assembly name (\"{asmName}\").");
                }
            }
            catch { }
        }
    

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

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

File.Replace的代码示例4 - BuildWxs()

    using System.IO;

        /// 
        /// Builds the WiX source file (*.wxs) from the specified  instance.
        /// 
        /// The project.
        /// 
        public static string BuildWxs(Bundle project)
        {
            lock (typeof(Compiler))
            {
                if (Compiler.ClientAssembly.IsEmpty())
                    Compiler.ClientAssembly = Compiler.FindClientAssemblyInCallStack();

                project.Validate();

                lock (Compiler.AutoGeneration.WxsGenerationSynchObject)
                {
                    var oldAlgorithm = AutoGeneration.CustomIdAlgorithm;
                    try
                    {
                        project.ResetAutoIdGeneration(supressWarning: false);

                        AutoGeneration.CustomIdAlgorithm = project.CustomIdAlgorithm ?? AutoGeneration.CustomIdAlgorithm;

                        string file = IO.Path.GetFullPath(IO.Path.Combine(project.OutDir, project.OutFileName) + ".wxs");

                        if (IO.File.Exists(file))
                            IO.File.Delete(file);

                        string extraNamespaces = project.WixNamespaces.Distinct()
                                                                      .Select(x => x.StartsWith("xmlns:") ? x : "xmlns:" + x)
                                                                      .ConcatItems(" ");

                        var wix3Namespace = "http://schemas.microsoft.com/wix/2006/wi";
                        var wix4Namespace = "http://wixtoolset.org/schemas/v4/wxs";

                        var wixNamespace = Compiler.IsWix4 ? wix4Namespace : wix3Namespace;

                        var doc = XDocument.Parse(
                            @"
                             " + $"
                             ");

                        doc.Root.Add(project.ToXml());

                        AutoElements.NormalizeFilePaths(doc, project.SourceBaseDir, EmitRelativePaths);

                        project.InvokeWixSourceGenerated(doc);

                        AutoElements.ExpandCustomAttributes(doc, project);

                        if (WixSourceGenerated != null)
                            WixSourceGenerated(doc);

                        var xmlEncoding = Encoding.UTF8;

                        string xml = "";
                        using (IO.StringWriter sw = new StringWriterWithEncoding(xmlEncoding))
                        {
                            doc.Save(sw, SaveOptions.None);
                            xml = sw.ToString();
                        }

                        //of course you can use XmlTextWriter.WriteRaw but this is just a temporary quick'n'dirty solution
                        //http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2657663&SiteID=1
                        xml = xml.Replace("xmlns=\"\"", "");

                        DefaultWixSourceFormatedHandler(ref xml);

                        project.InvokeWixSourceFormated(ref xml);
                        if (WixSourceFormated != null)
                            WixSourceFormated(ref xml);

                        using (var sw = new IO.StreamWriter(file, false, xmlEncoding))
                            sw.WriteLine(xml);

                        Compiler.OutputWriteLine("\n----------------------------------------------------------\n");
                        Compiler.OutputWriteLine("Wix project file has been built: " + file + "\n");

                        project.InvokeWixSourceSaved(file);
                        if (WixSourceSaved != null)
                            WixSourceSaved(file);

                        return file;
                    }
                    finally
                    {
                        AutoGeneration.CustomIdAlgorithm = oldAlgorithm;
                        project.ResetAutoIdGeneration(supressWarning: true);
                    }
                }
            }
        }
    

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

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

File.Replace的代码示例5 - ImportFrom()

    
        static public RegValue[] ImportFrom(string regFile)
        {
            var result = new List();

            string content = System.IO.File.ReadAllText(regFile);

            content = Regex.Replace(content, @"\r\n|\n\r|\n|\r", "\r\n");

            var parser = new RegParser();

            char[] delimiter = { '\\' };

            foreach (KeyValuePair> entry in parser.Parse(content))
                foreach (KeyValuePair item in entry.Value)
                {
                    string path = entry.Key;

                    var regval = new RegValue();
                    regval.Root = GetHive(path);
                    regval.Key = path.Split(delimiter, 2).Last();
                    regval.Name = item.Key;
                    regval.Value = Deserialize(item.Value, parser.Encoding);

                    if (regval.Value != null)
                        result.Add(regval);
                }

            return result.ToArray();
        }
    

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

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

File.Replace的代码示例6 - BuildSample()

    using System.IO;

        void BuildSample(string batchFile, int currentStep, List failedSamples)
        {
            try
            {
                var dir = Path.GetDirectoryName(batchFile);

                bool ignorePresentMsi = (dir.EndsWith("Self-executable_Msi", true));

                bool nonMsi = nonMsiProjects.Where(x => batchFile.Contains(x)).Any();

                if (!nonMsi && !ignorePresentMsi)
                {
                    DeleteAllMsis(dir);
                    Assert.False(HasAnyMsis(dir), "Cannot clear directory for the test...");
                }

                DisablePause(batchFile);

                string output = Run(batchFile);

                IO.File.WriteAllText(batchFile + ".log",
                    $"CurrDir: {Environment.CurrentDirectory}{Environment.NewLine}" +
                    $"Cmd: {batchFile}{Environment.NewLine}" +
                    $"======================================{Environment.NewLine}" +
                    $"{output}");

                if (batchFile.Contains("InjectXml"))
                {
                    Debug.Assert(false);
                }

                if (output.Contains(" : error") || output.Contains("Error: ") || (!nonMsi && !HasAnyMsis(dir)))
                {
                    if (batchFile.EndsWith(@"Signing\Build.cmd") && output.Contains("SignTool Error:"))
                    {
                        //just ignore as the certificate is just a demo certificate
                    }
                    else
                        lock (failedSamples)
                        {
                            failedSamples.Add((currentStep - 1) + ":" + batchFile); // print index so it's easy to find it in the log
                        }
                }

                if (!nonMsi)
                    DeleteAllMsis(dir);
            }
            catch (Exception e)
            {
                lock (failedSamples)
                {
                    failedSamples.Add(currentStep + ":" + batchFile + "\t" + e.Message.Replace("\r\n", "\n").Replace("\n", ""));
                }
            }
            finally
            {
                completedSamples++;
                Log(currentStep, failedSamples);
                RestorePause(batchFile);
            }
        }
    

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

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

File.Replace的代码示例7 - WriteExtraSkinningInfo()

    using System.IO;

        //Extra skin data based on https://github.com/Sage-of-Mirrors/SuperBMD/blob/ce1061e9b5f57de112f1d12f6459b938594664a0/SuperBMDLib/source/Model.cs#L193
        //Todo this doesn't quite work yet
        //Need to adjust all mesh name IDs so they are correct
        private void WriteExtraSkinningInfo(string FileName, Scene outScene, List Meshes)
        {
            StreamWriter test = new StreamWriter(FileName + ".tmp");
            StreamReader dae = File.OpenText(FileName);

            int geomIndex = 0;
            while (!dae.EndOfStream)
            {
                string line = dae.ReadLine();

                /* if (line == "  ")
                 {
                     AddControllerLibrary(outScene, test);
                     test.WriteLine(line);
                     test.Flush();
                 }
                 else if (line.Contains(".Replace(">", $" sid=\"{ name }\" type=\"JOINT\">");
                     test.WriteLine(jointLine);
                     test.Flush();
                 }
                 else if (line.Contains(""))
                 {
                     foreach (Mesh mesh in outScene.Meshes)
                     {
                         test.WriteLine($"      ");

                         test.WriteLine($"       ");
                         test.WriteLine("        #skeleton_root");
                         test.WriteLine("        ");
                         test.WriteLine("         ");
                         test.WriteLine($"          ");
                         test.WriteLine("         ");
                         test.WriteLine("        ");
                         test.WriteLine("       ");

                         test.WriteLine("      ");
                         test.Flush();
                     }

                     test.WriteLine(line);
                     test.Flush();
                 }*/
                if (line.Contains(" ");
                    test.Flush();

                    geomIndex++;
                }
                else
                {
                    test.WriteLine(line);
                    test.Flush();
                }

                /*    else if (line.Contains(".Replace("", "");
                        test.WriteLine(matLine);
                        test.Flush();
                    }*/

            }

            test.Close();
            dae.Close();

            File.Copy(FileName + ".tmp", FileName, true);
            File.Delete(FileName + ".tmp");
        }
    

开发者ID:KillzXGaming,项目名称:Switch-Toolbox,代码行数:84,代码来源:AssimpSaver.cs

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

File.Replace的代码示例8 - ConvertH3D()

    
        private void ConvertH3D(System.IO.Stream stream)
        {
            CanSave = true;

            System.IO.BinaryReader Reader = new System.IO.BinaryReader(stream);
            using (FileReader reader = new FileReader(stream, true))
            {
                uint magicNumber = reader.ReadUInt32();

                switch (magicNumber)
                {
                    case 0x15122117:
                        FormatType = FileFormatType.GFModel;
                        H3DFile = new H3D();
                        H3DFile.Models.Add(new SPICA.Formats.GFL2.Model.GFModel(Reader, "Model").ToH3DModel());
                        break;
                }

                string mbnPath = FilePath.Replace("bch", "mbn");

                if (reader.CheckSignature(3, "BCH"))
                {
                    H3DFile = H3D.Open(stream.ToBytes());
                    FormatType = FileFormatType.BCH;
                    return;
                }
                else if (reader.CheckSignature(4, "CGFX"))
                {
                    H3DFile = SPICA.Formats.CtrGfx.Gfx.Open(stream);
                    FormatType = FileFormatType.BCRES;
                }
                else if (GFPackage.IsValidPackage(stream))
                {
                    GFPackage.Header PackHeader = GFPackage.GetPackageHeader(stream);
                    switch (PackHeader.Magic)
                    {
                        case "PC": H3DFile = GFPkmnModel.OpenAsH3D(stream, PackHeader, null); break;
                    }
                }
                else  if (System.IO.File.Exists(mbnPath))
                {
                    var ModelBinary = new SPICA.Formats.ModelBinary.MBn(new System.IO.BinaryReader(
                        System.IO.File.OpenRead(mbnPath)), H3DFile);

                    H3DFile = ModelBinary.ToH3D();
                    FormatType = FileFormatType.MBN;
                }
                else
                    H3DFile = H3D.Open(stream.ToBytes());
            }
        }
    

开发者ID:KillzXGaming,项目名称:Switch-Toolbox,代码行数:52,代码来源:BCH.cs

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

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