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): IEnumerablestreamFiles = 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(FuncstreamReader, 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;未经允许,请勿转载。