C# BinaryWriter.Write的代码示例

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

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


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

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

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

BinaryWriter.Write的代码示例3 - WriteCache()

    using System.IO;

        public static void WriteCache()
        {
            if (CacheUpdatedFlag)
            {
                using (BinaryWriter writer = new BinaryWriter(new FileStream(HashBinaryPath, FileMode.OpenOrCreate, FileAccess.Write)))
                {
                    writer.Write(CurrentVersionHash);
                    writer.Write(HashCacheContent.Count);
                    foreach (KeyValuePair Entry in HashCacheContent)
                    {
                        writer.Write(Entry.Key);
                        writer.Write(Entry.Value);
                    }
                }
                CacheUpdatedFlag = false;
            }
        }
    

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

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

BinaryWriter.Write的代码示例4 - CompressMeshCodec()

    using System.IO;

        public static byte[] CompressMeshCodec(Stream stream)
        {
            var src = stream.ToArray();

            var mem = new MemoryStream();
            using (var writer = new BinaryWriter(mem))
            {
                writer.Write(1263551309); //MCPK
                //Version 1.1.0.0
                writer.Write((byte)1);
                writer.Write((byte)1);
                writer.Write((byte)0);
                writer.Write((byte)0);
                //Flags
                writer.Write(GetMeshCodecFlags((uint)src.Length));
                //ZSTD bfres with no magic
                writer.Write(CompressZSTD(src));
            }
            return mem.ToArray();
        }
    

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

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

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

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

BinaryWriter.Write的代码示例7 - OnSelectedStreamChanged()

    using System.IO;

		/// 
		/// Called by the view to notify of a change in the selection of the SelectedStreamInfo.
		/// 
		public void OnSelectedStreamChanged()
		{
			if (View.SelectedStreamInfo != null && this.SelectedMsiFile != null)
			{
				// 1: find the right stream containing the cab bits:
				using (var oleFile = new OleStorageFile(new LessIO.Path(this.SelectedMsiFile.FullName)))
				{
					var foundStream = oleFile.GetStreams().FirstOrDefault(s => string.Equals(View.SelectedStreamInfo.Name, s.Name, StringComparison.InvariantCulture));
					if (foundStream == null)
					{
						View.ShowUserError("Could not find stream for CAB '{0}'", View.SelectedStreamInfo.Name);
						return;
					}
					// if the file is a cab, we'll list the files in it (if it isn't clear the view):
					IEnumerable streamFiles = new CabContainedFileView[]{};
					if (View.SelectedStreamInfo.IsCabStream)
					{
						var tempFileName = System.IO.Path.GetTempFileName();
						using (var cabBits = foundStream.GetStream(FileMode.Open, FileAccess.Read))
						using (var writer = new BinaryWriter(File.Create(tempFileName)))
						{
							var buffer = new byte[1024*1024];
							int bytesRead;
							do
							{
								bytesRead = cabBits.Read(buffer, 0, buffer.Length);
								writer.Write(buffer, 0, bytesRead);
							} while (bytesRead > 0);
						}
						// 2: enumerate files in the cab and set them to the view's
						
						using (var cab = new LibMSPackN.MSCabinet(tempFileName))
						{
							// ToList to force it to enumerate now.
							streamFiles = cab.GetFiles().Select(f => new CabContainedFileView(f.Filename)).ToList();
						}
						Debug.Assert(streamFiles != null && streamFiles.Any());						
					}
					View.SetCabContainedFileListSource(streamFiles);
				}
			}
		}
    

开发者ID:activescott,项目名称:lessmsi,代码行数:47,代码来源:MainFormPresenter.cs

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

BinaryWriter.Write的代码示例8 - CopyStreamToFile()

    using System.IO;

		/// 
		/// Copies the Stream of bytes from the specified streamReader to the specified destination path.
		/// 
		/// 
		/// A callback like this:
		/// int StreamReader(byte[] destBuffer)
		/// The function should put bytes into the destBuffer and return the number of bytes written to the buffer.
		/// 
		/// The file to write the sreamReader's bits to.
		private static void CopyStreamToFile(Func streamReader, Path destFile)
		{
			using (var writer = new BinaryWriter(FileSystem.CreateFile(destFile)))
			{
				var buf = new byte[1024 * 1024];
				int bytesWritten;
				do
				{
					bytesWritten = streamReader(buf);
					if (bytesWritten > 0)
						writer.Write(buf, 0, bytesWritten);
				} while (bytesWritten > 0);
			}
		}
    

开发者ID:activescott,项目名称:lessmsi,代码行数:25,代码来源:Wixtracts.cs

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

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