C# FileStream.CopyTo的代码示例

通过代码示例来学习C# FileStream.CopyTo方法

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


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

FileStream.CopyTo的代码示例1 - GetIndexHash()

    using System.IO;

        private byte[] GetIndexHash()
        {
            if (this.shouldHashIndex)
            {
                using (Stream fileStream = new FileStream(this.indexLockPath, FileMode.Open, FileAccess.Read, FileShare.Write))
                using (HashingStream hasher = new HashingStream(fileStream))
                {
                    hasher.CopyTo(Stream.Null);
                    return hasher.Hash;
                }
            }

            return new byte[20];
        }
    

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

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

FileStream.CopyTo的代码示例2 - SignIndex()

    using System.IO;

        private void SignIndex()
        {
            using (ITracer activity = this.tracer.StartActivity("SignIndex", EventLevel.Informational, Keywords.Telemetry, metadata: null))
            {
                using (FileStream fs = File.Open(this.indexPath, FileMode.Open, FileAccess.ReadWrite))
                {
                    // Truncate the old hash off. The Index class is expected to preserve any existing hash.
                    fs.SetLength(fs.Length - 20);
                    using (HashingStream hashStream = new HashingStream(fs))
                    {
                        fs.Position = 0;
                        hashStream.CopyTo(Stream.Null);
                        byte[] hash = hashStream.Hash;

                        // The fs pointer is now where the old hash used to be. Perfect. :)
                        fs.Write(hash, 0, hash.Length);
                    }
                }
            }
        }
    

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

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

FileStream.CopyTo的代码示例3 - AddBoardsToSet()

    using System.IO;

        public void AddBoardsToSet(List FileList, ProgressLog Logger , bool fixgroup = true, bool forcezerowidth = false)
        {
            Logger.PushActivity("AddBoardsToSet");
            foreach (var a in FileList)
            {
                Logger.AddString(String.Format("adding {0}", a));
                BoardSide aSide = BoardSide.Unknown;
                BoardLayer aLayer = BoardLayer.Unknown;
                string ext = Path.GetExtension(a);
                if (ext == ".zip")
                {
                    using (ZipFile zip1 = ZipFile.Read(a))
                    {
                        foreach (ZipEntry e in zip1)
                        {
                            MemoryStream MS = new MemoryStream();
                            if (e.IsDirectory == false)
                            {
                                //                              e.Extract(MS);
                                //                                MS.Seek(0, SeekOrigin.Begin);
                                Gerber.DetermineBoardSideAndLayer(e.FileName, out aSide, out aLayer);
                                if (aLayer == BoardLayer.Outline) hasgko = true;

                                //     AddFileStream(MS, e.FileName, drillscaler);
                            }
                        }
                    }
                }
                else
                {

                    Gerber.DetermineBoardSideAndLayer(a, out aSide, out aLayer);
                }
                if (aLayer == BoardLayer.Outline) hasgko = true;
            }

            foreach (var a in FileList)
            {
                if (Logger != null) Logger.AddString(String.Format("Loading {0}", Path.GetFileName(a)));
                string ext = Path.GetExtension(a);
                if (ext == ".zip")
                {
                    using (ZipFile zip1 = ZipFile.Read(a))
                    {
                        foreach (ZipEntry e in zip1)
                        {
                            MemoryStream MS = new MemoryStream();
                            if (e.IsDirectory == false)
                            {
                                if (Logger != null) Logger.AddString(String.Format("Loading inside zip: {0}", Path.GetFileName(e.FileName)));

                                e.Extract(MS);
                                MS.Seek(0, SeekOrigin.Begin);
                                AddFileToSet(MS, e.FileName, Logger, 1, forcezerowidth);
                            }
                        }
                    }
                }
                else
                {
                    try
                    {
                        MemoryStream MS2 = new MemoryStream();
                        FileStream FS = File.OpenRead(a);
                        FS.CopyTo(MS2);
                        MS2.Seek(0, SeekOrigin.Begin);
                        AddFileToSet(MS2, a, Logger,1, forcezerowidth);
                    }
                    catch (Exception E)
                    {
                        Logger.AddString(String.Format("Failed to add file! {0},{1}", a, E));
                    }
                }
            }

            if (fixgroup)
            {
                if (Logger != null) Logger.AddString("Checking for common file format mistakes.");
                FixEagleDrillExportIssues(Logger);
                CheckRelativeBoundingBoxes(Logger);
                CheckForOutlineFiles(Logger);

                CheckRelativeBoundingBoxes(Logger);

            }

            Logger.PopActivity();
        }
    

开发者ID:ThisIsNotRocketScience,项目名称:GerberTools,代码行数:90,代码来源:ImageCreator.cs

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

FileStream.CopyTo的代码示例4 - AddFile()

    using System.IO;

        public void AddFile(ProgressLog log, string filename, double drillscaler = 1.0)
        {

            string[] filesplit = filename.Split('.');
            string ext = filesplit[filesplit.Count() - 1].ToLower();
            if (ext == "zip")
            {
                using (ZipFile zip1 = ZipFile.Read(filename))
                {
                    foreach (ZipEntry e in zip1)
                    {
                        MemoryStream MS = new MemoryStream();
                        if (e.IsDirectory == false)
                        {
                            e.Extract(MS);
                            MS.Seek(0, SeekOrigin.Begin);
                            AddFileStream(log, MS, e.FileName, drillscaler);
                        }
                    }
                }
                return;

            }


            MemoryStream MS2 = new MemoryStream();
            FileStream FS = File.OpenRead(filename);
            FS.CopyTo(MS2);
            MS2.Seek(0, SeekOrigin.Begin);
            AddFileStream(log, MS2, filename, drillscaler);

        }
    

开发者ID:ThisIsNotRocketScience,项目名称:GerberTools,代码行数:34,代码来源:LoadedStuff.cs

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

FileStream.CopyTo的代码示例5 - AddBoardsToSet()

    using System.IO;

        public void AddBoardsToSet(List FileList, bool fixgroup = true, ProgressLog Logger = null)
        {
            foreach (var a in FileList)
            {
                BoardSide aSide = BoardSide.Unknown;
                BoardLayer aLayer = BoardLayer.Unknown;
                string ext = Path.GetExtension(a);
                if (ext == ".zip")
                {
                    using (ZipFile zip1 = ZipFile.Read(a))
                    {
                        foreach (ZipEntry e in zip1)
                        {
                            MemoryStream MS = new MemoryStream();
                            if (e.IsDirectory == false)
                            {
                                //                              e.Extract(MS);
                                //                                MS.Seek(0, SeekOrigin.Begin);
                                Gerber.DetermineBoardSideAndLayer(e.FileName, out aSide, out aLayer);
                                if (aLayer == BoardLayer.Outline) HasLoadedOutline = true;

                                //     AddFileStream(MS, e.FileName, drillscaler);
                            }
                        }
                    }
                }
                else
                {

                    Gerber.DetermineBoardSideAndLayer(a, out aSide, out aLayer);
                }
                if (aLayer == BoardLayer.Outline) HasLoadedOutline = true;
            }

            foreach (var a in FileList)
            {
                if (Logger != null) Logger.AddString(String.Format("Loading {0}", Path.GetFileName(a)));
                string ext = Path.GetExtension(a);
                if (ext == ".zip")
                {
                    using (ZipFile zip1 = ZipFile.Read(a))
                    {
                        foreach (ZipEntry e in zip1)
                        {
                            MemoryStream MS = new MemoryStream();
                            if (e.IsDirectory == false)
                            {
                                if (Logger != null) Logger.AddString(String.Format("Loading inside zip: {0}", Path.GetFileName(e.FileName)));

                                e.Extract(MS);
                                MS.Seek(0, SeekOrigin.Begin);
                                AddFileToSet(MS, e.FileName, Logger);
                            }
                        }
                    }
                }
                else
                {
                    MemoryStream MS2 = new MemoryStream();
                    FileStream FS = File.OpenRead(a);
                    FS.CopyTo(MS2);
                    MS2.Seek(0, SeekOrigin.Begin);
                    AddFileToSet(MS2, a, Logger);
                }
            }

            if (fixgroup)
            {
                if (Logger != null) Logger.AddString("Checking for common file format mistakes.");
                FixEagleDrillExportIssues(Logger);
                CheckRelativeBoundingBoxes(Logger);
                CheckForOutlineFiles(Logger);

                CheckRelativeBoundingBoxes(Logger);

            }
        }
    

开发者ID:ThisIsNotRocketScience,项目名称:GerberTools,代码行数:79,代码来源:SickOfBeige.cs

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

FileStream.CopyTo的代码示例6 - WriteFile()

    using System.IO;

        //Saving memory stream to a new file with the given path
        private static bool WriteFile(MemoryStream InputStream, string path)
        {
            if (File.Exists(path))
                File.Delete(path);

            if (!File.Exists(path))
            {
                try
                {
                    using (FileStream fs = File.Create(path))
                    {
                        InputStream.Seek(0, SeekOrigin.Begin);
                        InputStream.CopyTo(fs);
                    }
                    return true;
                }
                catch (Exception e)
                {
                    Console.WriteLine("The following exception was thrown during creation and writing to the file \"{0}\"", path);
                    Console.WriteLine(e.Message);
                    return false;
                }
            }
            else
            {
                Console.WriteLine("Can not create file \"{0}\". File already exists", path);
                return false;

            }
        }
    

开发者ID:Cinchoo,项目名称:ChoETL,代码行数:33,代码来源:Program.cs

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

FileStream.CopyTo的代码示例7 - Compile()

    using System.IO;

        private Assembly Compile(IBuilderContext builderContext, IEnumerable syntaxTrees, string libraryFile, HashSet fileReferences)
        {
            // Add references
            var metadataReferences = new List();

            foreach (var reference in fileReferences.Where(r => !string.IsNullOrEmpty(r)))
            {
                // Skip references that are already provided by the runtime
                if (BasicReferenceAssemblies.All.Any(a => string.Equals(Path.GetFileName(reference), a.FilePath, StringComparison.OrdinalIgnoreCase)))
                    continue;
                metadataReferences.Add(MetadataReference.CreateFromFile(reference));
            }

            metadataReferences.AddRange(BasicReferenceAssemblies.All);

            // suppress assembly redirect warnings
            // cf. https://github.com/dotnet/roslyn/issues/19640
            var noWarn = new List>
            {
                new KeyValuePair("CS1701", ReportDiagnostic.Suppress),
                new KeyValuePair("CS1702", ReportDiagnostic.Suppress),
            };

            // Compile
            var compilationOptions = new CSharpCompilationOptions(
                OutputKind.DynamicallyLinkedLibrary,
                optimizationLevel: (builderContext == null || builderContext.DebugScripts) ? OptimizationLevel.Debug : OptimizationLevel.Release,
                warningLevel: 4,
                specificDiagnosticOptions: noWarn,
                deterministic: true
            );

            var assemblyName = libraryFile != null ? Path.GetFileNameWithoutExtension(libraryFile) : $"Sharpmake_{new Random().Next():X8}" + GetHashCode();
            var compilation = CSharpCompilation.Create(assemblyName, syntaxTrees, metadataReferences, compilationOptions);
            string pdbFilePath = libraryFile != null ? Path.ChangeExtension(libraryFile, ".pdb") : null;

            using (var dllStream = new MemoryStream())
            using (var pdbStream = new MemoryStream())
            {
                EmitResult result = compilation.Emit(
                    dllStream,
                    pdbStream,
                    options: new EmitOptions(
                        debugInformationFormat: DebugInformationFormat.PortablePdb,
                        pdbFilePath: pdbFilePath
                    )
                );

                bool throwErrorException = builderContext == null || builderContext.CompileErrorBehavior == BuilderCompileErrorBehavior.ThrowException;
                LogCompilationResult(result, throwErrorException);

                if (result.Success)
                {
                    if (libraryFile != null)
                    {
                        dllStream.Seek(0, SeekOrigin.Begin);
                        using (var fileStream = new FileStream(libraryFile, FileMode.Create))
                            dllStream.CopyTo(fileStream);

                        pdbStream.Seek(0, SeekOrigin.Begin);
                        using (var pdbFileStream = new FileStream(pdbFilePath, FileMode.Create))
                            pdbStream.CopyTo(pdbFileStream);

                        return Assembly.LoadFrom(libraryFile);
                    }

                    return Assembly.Load(dllStream.GetBuffer(), pdbStream.GetBuffer());
                }
            }

            return null;
        }
    

开发者ID:ubisoft,项目名称:Sharpmake,代码行数:74,代码来源:Assembler.cs

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

FileStream.CopyTo的代码示例8 - Seek()

    using System.IO;

        public override long Seek(long offset, SeekOrigin origin)
        {
            var position =
                origin == SeekOrigin.Begin ? offset :
                origin == SeekOrigin.Current ? _stream.Position + offset :
                _stream.Position - offset;

            // when offset pass limit first time, change current _stream from MemoryStrem to FileStream with TempFilename()
            if (position > _maxMemoryUsage && this.InMemory)
            {
                // create new filename if not passed on ctor (must be unique
                _filename = _filename ?? Path.Combine(Path.GetTempPath(), "litedb_" + Guid.NewGuid() + ".db");

                var file = new FileStream(_filename, FileMode.CreateNew, FileAccess.ReadWrite, FileShare.None, PAGE_SIZE, FileOptions.RandomAccess);

                // copy data from memory to disk
                _stream.Position = 0;
                _stream.CopyTo(file);

                // dispose MemoryStream
                _stream.Dispose();

                // and replace with FileStream
                _stream = file;
            }

            return _stream.Seek(offset, origin);
        }
    

开发者ID:mbdavid,项目名称:LiteDB,代码行数:30,代码来源:TempStream.cs

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

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