C# BinaryReader.Read的代码示例
通过代码示例来学习C# BinaryReader.Read方法
通过代码示例来学习编程是非常高效的。
1. 代码示例提供了一个具体而直观的学习环境,使初学者能够立即看到编程概念和语法的实际应用。
2. 通过分析和模仿现有的代码实例,初学者可以更好地理解编程逻辑和算法的工作原理。
3. 代码实例往往涵盖了多种编程技巧和最佳实践,通过学习和模仿这些实例,学习者可以逐步掌握如何编写高效、可读性强和可维护的代码。这对于初学者来说,是一种快速提升编程水平的有效途径。
BinaryReader.Read是C#的System.IO命名空间下中的一个方法, 小编为大家找了一些网络大拿们常见的代码示例,源码中的BinaryReader.Read() 已经帮大家高亮显示了,大家可以重点学习BinaryReader.Read() 方法的写法,从而快速掌握该方法的应用。
BinaryReader.Read的代码示例1 - ReadCleanupDatabase()
using System.IO; private static Dictionary
ReadCleanupDatabase(string databaseFilename) { Dictionary dbFiles = null; if (File.Exists(databaseFilename)) { try { // Read database - This is simply a simple binary file containing the list of file and a version number. using (Stream readStream = new FileStream(databaseFilename, FileMode.Open, FileAccess.Read, FileShare.None)) using (BinaryReader binReader = new BinaryReader(readStream)) { // Validate version number int version = binReader.ReadInt32(); if (version == (int)DBVersion.Version) { // Read the list of files. IFormatter formatter = new BinaryFormatter(); string dbAsJson = binReader.ReadString(); var tmpDbFiles = System.Text.Json.JsonSerializer.Deserialize >(dbAsJson, GetCleanupDatabaseJsonSerializerOptions()); dbFiles = tmpDbFiles.ToDictionary(kvp => kvp.Key, kvp => kvp.Value, StringComparer.InvariantCultureIgnoreCase); } else { LogWrite("Warning: found cleanup database in incompatible format v{0}, skipped.", version); } readStream.Close(); } } catch { // File is likely corrupted. // This is no big deal except that cleanup won't occur. dbFiles = null; } } return dbFiles; }
开发者ID:ubisoft,项目名称:Sharpmake,代码行数:41,代码来源:Util.cs
在ReadCleanupDatabase()方法中,BinaryReader的代码示例类中的Read的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
BinaryReader.Read的代码示例2 - FromStream()
using System.IO; public static ID3v2Footer FromStream(Stream stream) { if (stream == null) throw new ArgumentNullException("stream"); if (!stream.CanRead) throw new ArgumentException("stream not readable"); if (!stream.CanSeek) throw new ArgumentException("stream not seekable"); BinaryReader reader = new BinaryReader(stream); ID3v2Footer footer; byte[] buffer = new byte[FooterLength]; int read = stream.Read(buffer, 0, buffer.Length); if (read < 10) throw new EndOfStreamException(); if (buffer[0] == 0x49 && //I buffer[1] == 0x44 && //D buffer[2] == 0x33) { footer = new ID3v2Footer(); footer.Version = (ID3Version)buffer[3]; footer.RawVersion = new byte[] { buffer[3], buffer[4] }; footer.Flags = (ID3v2HeaderFlags)buffer[5]; /*footer.DataLength = buffer[6] * (1 << 21); footer.DataLength += buffer[7] * (1 << 14); footer.DataLength += buffer[8] * (1 << 7); footer.DataLength += buffer[9];*/ footer.DataLength = ID3Utils.ReadInt32(buffer, 6, true); return footer; } stream.Position -= read; return null; }
开发者ID:filoe,项目名称:cscore,代码行数:38,代码来源:ID3v2Footer.cs
在FromStream()方法中,BinaryReader的代码示例类中的Read的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
BinaryReader.Read的代码示例3 - FromStream()
using System.IO; public static ID3v2Header FromStream(Stream stream) { if (stream == null) throw new ArgumentNullException("stream"); if (!stream.CanRead) throw new ArgumentException("stream not readable"); if (!stream.CanSeek) throw new ArgumentException("stream not seekable"); BinaryReader reader = new BinaryReader(stream); ID3v2Header header; byte[] buffer = new byte[HeaderLength]; int read = stream.Read(buffer, 0, buffer.Length); if (read < 10) throw new EndOfStreamException(); if (buffer[0] == 0x49 && //I buffer[1] == 0x44 && //D buffer[2] == 0x33) { header = new ID3v2Header(); header.Version = (ID3Version)buffer[3]; header.RawVersion = new byte[] { buffer[3], buffer[4] }; header.Flags = (ID3v2HeaderFlags)buffer[5]; /*header.DataLength = buffer[6] * (1 << 21); header.DataLength += buffer[7] * (1 << 14); header.DataLength += buffer[8] * (1 << 7); header.DataLength += buffer[9]; */ header.DataLength = ID3Utils.ReadInt32(buffer, 6, true); return header; } stream.Position -= read; return null; }
开发者ID:filoe,项目名称:cscore,代码行数:39,代码来源:ID3v2Header.cs
在FromStream()方法中,BinaryReader的代码示例类中的Read的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
BinaryReader.Read的代码示例4 - ReadBuffer()
using System.IO; public static void ReadBuffer(this BinaryReader _this, byte[] buffer, int offset, int count) { do { int read = _this.Read(buffer, offset, count); if (read == 0) { throw new Exception($"No data left"); } offset += read; count -= read; } while (count > 0); }
开发者ID:mafaca,项目名称:UtinyRipper,代码行数:15,代码来源:BinaryReaderExtensions.cs
在ReadBuffer()方法中,BinaryReader的代码示例类中的Read的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
BinaryReader.Read的代码示例5 - Export()
using System.IO; public override void Export(ShaderWriter writer, ref ShaderSubProgram subProgram) { using (MemoryStream stream = new MemoryStream(subProgram.ProgramData)) { using (BinaryReader reader = new BinaryReader(stream)) { DXDataHeader header = new DXDataHeader(); header.Read(reader, writer.Version); // HACK: since we can't restore UAV info and HLSLcc requires it, process such shader with default exporter if (header.UAVs > 0) { base.Export(writer, ref subProgram); } else { byte[] exportData = DXShaderProgramRestorer.RestoreProgramData(reader, writer.Version, ref subProgram); WrappedGlExtensions ext = new WrappedGlExtensions(); ext.ARB_explicit_attrib_location = 1; ext.ARB_explicit_uniform_location = 1; ext.ARB_shading_language_420pack = 0; ext.OVR_multiview = 0; ext.EXT_shader_framebuffer_fetch = 0; Shader shader = Shader.TranslateFromMem(exportData, WrappedGLLang.LANG_DEFAULT, ext); if (shader.OK == 0) { base.Export(writer, ref subProgram); } else { ExportListing(writer, shader.Text); } } } } }
开发者ID:mafaca,项目名称:UtinyRipper,代码行数:38,代码来源:ShaderHLSLccExporter.cs
在Export()方法中,BinaryReader的代码示例类中的Read的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
BinaryReader.Read的代码示例6 - CreateBATBlock()
using System.IO; /** * Create a single BATBlock from the byte buffer, which must hold at least * one big block of data to be read. */ public static BATBlock CreateBATBlock(POIFSBigBlockSize bigBlockSize, BinaryReader data) { // Create an empty block BATBlock block = new BATBlock(bigBlockSize); // Fill it byte[] buffer = new byte[LittleEndianConsts.INT_SIZE]; for (int i = 0; i < block._values.Length; i++) { data.Read(buffer,0,buffer.Length); block._values[i] = LittleEndian.GetInt(buffer); } block.RecomputeFree(); // All done return block; }
开发者ID:dotnetcore,项目名称:NPOI,代码行数:22,代码来源:BATBlock.cs
在CreateBATBlock()方法中,BinaryReader的代码示例类中的Read的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
本文中的BinaryReader.Read方法示例由csref.cn整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。