C# File.Copy的代码示例
通过代码示例来学习C# File.Copy方法
通过代码示例来学习编程是非常高效的。
1. 代码示例提供了一个具体而直观的学习环境,使初学者能够立即看到编程概念和语法的实际应用。
2. 通过分析和模仿现有的代码实例,初学者可以更好地理解编程逻辑和算法的工作原理。
3. 代码实例往往涵盖了多种编程技巧和最佳实践,通过学习和模仿这些实例,学习者可以逐步掌握如何编写高效、可读性强和可维护的代码。这对于初学者来说,是一种快速提升编程水平的有效途径。
File.Copy是C#的System.IO命名空间下中的一个方法, 小编为大家找了一些网络大拿们常见的代码示例,源码中的File.Copy() 已经帮大家高亮显示了,大家可以重点学习File.Copy() 方法的写法,从而快速掌握该方法的应用。
File.Copy的代码示例1 - 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()方法中,File的代码示例类中的Copy的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
File.Copy的代码示例2 - CopyFile()
using System.IO; private void CopyFile( string sourceRoot, string targetRoot, string fileName) { string sourceFile = Path.Combine(sourceRoot, fileName); string targetFile = Path.Combine(targetRoot, fileName); try { if (!File.Exists(sourceFile)) { return; } File.Copy(sourceFile, targetFile); } catch (Exception e) { this.WriteMessage( string.Format( "Failed to copy file {0} in {1} with exception {2}", fileName, sourceRoot, e)); } }
开发者ID:microsoft,项目名称:VFSForGit,代码行数:29,代码来源:DiagnoseVerb.cs
在CopyFile()方法中,File的代码示例类中的Copy的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
File.Copy的代码示例3 - 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()方法中,File的代码示例类中的Copy的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
File.Copy的代码示例4 - 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的代码示例类中的Copy的代码示例方法一共出现了2次, 见黄色背景高亮显示的地方,欢迎大家点赞
File.Copy的代码示例5 - TryCopyToTempFileAndRename()
using System.IO; public bool TryCopyToTempFileAndRename(string sourcePath, string destinationPath, out Exception handledException) { handledException = null; string tempFilePath = destinationPath + ".temp"; try { File.Copy(sourcePath, tempFilePath, overwrite: true); GVFSPlatform.Instance.FileSystem.FlushFileBuffers(tempFilePath); this.MoveAndOverwriteFile(tempFilePath, destinationPath); return true; } catch (Win32Exception e) { handledException = e; return false; } catch (IOException e) { handledException = e; return false; } catch (UnauthorizedAccessException e) { handledException = e; return false; } }
开发者ID:microsoft,项目名称:VFSForGit,代码行数:30,代码来源:PhysicalFileSystem.cs
在TryCopyToTempFileAndRename()方法中,File的代码示例类中的Copy的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
File.Copy的代码示例6 - 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()方法中,File的代码示例类中的Copy的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
File.Copy的代码示例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(" ", $" sid=\"{ name }\" type=\"JOINT\">"); test.WriteLine(jointLine); test.Flush(); } else if (line.Contains("")) { foreach (Mesh mesh in outScene.Meshes) { test.WriteLine($" "); test.WriteLine($" "); test.Flush(); } test.WriteLine(line); test.Flush(); }*/ if (line.Contains(""); test.WriteLine(" "); test.WriteLine("#skeleton_root "); test.WriteLine(""); test.WriteLine(" "); test.WriteLine(""); test.WriteLine($" "); test.WriteLine(""); test.WriteLine(" "); test.Flush(); geomIndex++; } else { test.WriteLine(line); test.Flush(); } /* else if (line.Contains(" ", " "); 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的代码示例类中的Copy的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
File.Copy的代码示例8 - GenerateJsonFromFile()
using System.IO; private static void GenerateJsonFromFile(string file, string fbs) { var fbsName = fbs + ".fbs"; var fbsPath = Path.Combine(FlatPath, fbsName); Directory.CreateDirectory(FlatPath); if (!File.Exists(fbsPath)) File.WriteAllBytes(fbsPath, GetSchema(fbs)); var fileName = Path.GetFileName(file); var filePath = Path.Combine(FlatPath, fileName); File.Copy(file, filePath, true); var args = GetArgumentsDeserialize(fileName, fbsName); RunFlatC(args); File.Delete(filePath); }
开发者ID:KillzXGaming,项目名称:Switch-Toolbox,代码行数:18,代码来源:FlatBufferConverter.cs
在GenerateJsonFromFile()方法中,File的代码示例类中的Copy的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
本文中的File.Copy方法示例由csref.cn整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。