C# BinaryWriter.Flush的代码示例

通过代码示例来学习C# BinaryWriter.Flush方法

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


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

BinaryWriter.Flush的代码示例1 - WriteAllEntries()

    using System.IO;

        private void WriteAllEntries(uint version, bool isFinal)
        {
            try
            {
                using (Stream indexStream = new FileStream(this.indexLockPath, FileMode.Create, FileAccess.Write, FileShare.None))
                using (BinaryWriter writer = new BinaryWriter(indexStream))
                {
                    writer.Write(IndexHeader);
                    writer.Write(EndianHelper.Swap(version));
                    writer.Write((uint)0); // Number of entries placeholder

                    uint lastStringLength = 0;
                    LsTreeEntry entry;
                    while (this.entryQueue.TryTake(out entry, Timeout.Infinite))
                    {
                        this.WriteEntry(writer, version, entry.Sha, entry.Filename, ref lastStringLength);
                    }

                    // Update entry count
                    writer.BaseStream.Position = EntryCountOffset;
                    writer.Write(EndianHelper.Swap(this.entryCount));
                    writer.Flush();
                }

                this.AppendIndexSha();
                if (isFinal)
                {
                    this.ReplaceExistingIndex();
                }
            }
            catch (Exception e)
            {
                this.tracer.RelatedError("Failed to generate index: {0}", e.ToString());
                this.HasFailures = true;
            }
        }
    

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

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

BinaryWriter.Flush的代码示例2 - StreamObjects()

    using System.IO;

        private RetryWrapper.InvocationResult StreamObjects(
            IEnumerable objectIds,
            Func.CallbackResult> onSuccess,
            Action.ErrorEventArgs> onFailure)
        {
            for (int i = 0; i < this.RetryConfig.MaxAttempts; ++i)
            {
                try
                {
                    using (ReusableMemoryStream mem = new ReusableMemoryStream(string.Empty))
                    using (BinaryWriter writer = new BinaryWriter(mem))
                    {
                        writer.Write(new byte[] { (byte)'G', (byte)'V', (byte)'F', (byte)'S', (byte)' ', 1 });

                        foreach (string objectId in objectIds)
                        {
                            string contents = this.objectResolver(objectId);
                            if (!string.IsNullOrEmpty(contents))
                            {
                                writer.Write(this.SHA1BytesFromString(objectId));
                                byte[] bytes = Encoding.UTF8.GetBytes(contents);
                                writer.Write((long)bytes.Length);
                                writer.Write(bytes);
                            }
                            else
                            {
                                writer.Write(new byte[20]);
                                writer.Write(0L);
                            }
                        }

                        writer.Write(new byte[20]);
                        writer.Flush();
                        mem.Seek(0, SeekOrigin.Begin);

                        using (GitEndPointResponseData response = new GitEndPointResponseData(
                            HttpStatusCode.OK,
                            GVFSConstants.MediaTypes.CustomLooseObjectsMediaType,
                            mem,
                            message: null,
                            onResponseDisposed: null))
                        {
                            RetryWrapper.CallbackResult result = onSuccess(1, response);
                            return new RetryWrapper.InvocationResult(1, true, result.Result);
                        }
                    }
                }
                catch
                {
                    continue;
                }
            }

            return new RetryWrapper.InvocationResult(this.RetryConfig.MaxAttempts, null);
        }
    

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

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

BinaryWriter.Flush的代码示例3 - WriteAsync()

    using System.IO;

        /// 
        /// Write a Request to the stream.
        /// 
        public async Task WriteAsync(Stream outStream, CancellationToken cancellationToken = default(CancellationToken))
        {
            using (var memoryStream = new MemoryStream())
            using (var writer = new BinaryWriter(memoryStream, Encoding.Unicode))
            {
                // Format the request.
                ServerLogger.Log("Formatting request");
                writer.Write(ProtocolVersion);
                writer.Write(Arguments.Count);
                foreach (var arg in Arguments)
                {
                    cancellationToken.ThrowIfCancellationRequested();
                    arg.WriteToBinaryWriter(writer);
                }
                writer.Flush();

                cancellationToken.ThrowIfCancellationRequested();

                // Write the length of the request
                var length = checked((int)memoryStream.Length);

                // Back out if the request is > 1 MB
                if (memoryStream.Length > 0x100000)
                {
                    ServerLogger.Log("Request is over 1MB in length, cancelling write");
                    throw new ArgumentOutOfRangeException();
                }

                // Send the request to the server
                ServerLogger.Log("Writing length of request.");
                await outStream
                    .WriteAsync(BitConverter.GetBytes(length), 0, 4, cancellationToken)
                    .ConfigureAwait(false);

                ServerLogger.Log("Writing request of size {0}", length);
                // Write the request
                memoryStream.Position = 0;
                await memoryStream
                    .CopyToAsync(outStream, bufferSize: length, cancellationToken: cancellationToken)
                    .ConfigureAwait(false);
            }
        }
    

开发者ID:aspnet,项目名称:Razor,代码行数:47,代码来源:ServerRequest.cs

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

BinaryWriter.Flush的代码示例4 - WriteAsync()

    using System.IO;

        public async Task WriteAsync(Stream outStream, CancellationToken cancellationToken)
        {
            using (var memoryStream = new MemoryStream())
            using (var writer = new BinaryWriter(memoryStream, Encoding.Unicode))
            {
                // Format the response
                ServerLogger.Log("Formatting Response");
                writer.Write((int)Type);

                AddResponseBody(writer);
                writer.Flush();

                cancellationToken.ThrowIfCancellationRequested();

                // Send the response to the client

                // Write the length of the response
                var length = checked((int)memoryStream.Length);

                ServerLogger.Log("Writing response length");
                // There is no way to know the number of bytes written to
                // the pipe stream. We just have to assume all of them are written.
                await outStream
                    .WriteAsync(BitConverter.GetBytes(length), 0, 4, cancellationToken)
                    .ConfigureAwait(false);

                // Write the response
                ServerLogger.Log("Writing response of size {0}", length);
                memoryStream.Position = 0;
                await memoryStream
                    .CopyToAsync(outStream, bufferSize: length, cancellationToken: cancellationToken)
                    .ConfigureAwait(false);
            }
        }
    

开发者ID:aspnet,项目名称:Razor,代码行数:36,代码来源:ServerResponse.cs

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

BinaryWriter.Flush的代码示例5 - SerializeAllCsprojSubTypes()

    using System.IO;

        public static void SerializeAllCsprojSubTypes(object allCsProjSubTypes)
        {
            // If DbPath is not specify, do not save C# subtypes information
            if (string.IsNullOrEmpty(WinFormSubTypesDbPath))
                return;

            if (!Directory.Exists(WinFormSubTypesDbPath))
                Directory.CreateDirectory(WinFormSubTypesDbPath);

            string winFormSubTypesDbFullPath = GetWinFormSubTypeDbPath();

            using (Stream writeStream = new FileStream(winFormSubTypesDbFullPath, FileMode.Create, FileAccess.Write, FileShare.None))
            using (BinaryWriter binWriter = new BinaryWriter(writeStream))
            {
                string csprojSubTypesAsJson = System.Text.Json.JsonSerializer.Serialize(allCsProjSubTypes, GetCsprojSubTypesJsonSerializerOptions());
                binWriter.Write(csprojSubTypesAsJson);
                binWriter.Flush();
            }
        }
    

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

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

BinaryWriter.Flush的代码示例6 - SaveStream()

    using System.IO;

        // ReSharper disable UnusedMethodReturnValue.Local
        private static long SaveStream(Stream stream, string path, DateTime touchDate, int streamBufferSize)
            // ReSharper restore UnusedMethodReturnValue.Local
        {
            FilePreparePath(path);

            long len = 0;

            using (FileStream fs = new FileStream(path, FileMode.Create, FileAccess.Write))
            {
                using (BinaryReader br = new BinaryReader(stream))
                {
                    using (BinaryWriter bw = new BinaryWriter(fs))
                    {
                        byte[] buffer;
                        do
                        {
                            buffer = br.ReadBytes(streamBufferSize);
                            len += buffer.Length;
                            if (buffer.Length > 0)
                            {
                                bw.Write(buffer);
                            }
                        } while (buffer.Length > 0);

                        bw.Flush();
                    }
                }
            }

            File.SetLastWriteTime(path, touchDate);
            return len;
        }
    

开发者ID:zzzprojects,项目名称:html-agility-pack,代码行数:35,代码来源:HtmlWeb.cs

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

BinaryWriter.Flush的代码示例7 - SaveToStream()

    using System.IO;

        public void SaveToStream(Stream stream)
        {
            BinaryWriter writer = new BinaryWriter(stream);
            var title = Title.Length > 30 ? Title.Substring(0, 30) : Title;
            var artist = Artist.Length > 30 ? Title.Substring(0, 30) : Artist;
            var album = Album.Length > 30 ? Album.Substring(0, 30) : Album;
            int year = Year.HasValue ? Year.Value : 0;
            var comment = Comment.Length > 30 ? Comment.Substring(0, 30) : Comment;
            var genre = (byte)Genre;

            writer.Write(title);
            writer.Write(artist);
            writer.Write(album);
            writer.Write(year);
            writer.Write(comment);
            writer.Write(genre);
            writer.Flush();
        }
    

开发者ID:filoe,项目名称:cscore,代码行数:20,代码来源:ID3v1.cs

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

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