C# FileStream.Seek的代码示例
通过代码示例来学习C# FileStream.Seek方法
通过代码示例来学习编程是非常高效的。
1. 代码示例提供了一个具体而直观的学习环境,使初学者能够立即看到编程概念和语法的实际应用。
2. 通过分析和模仿现有的代码实例,初学者可以更好地理解编程逻辑和算法的工作原理。
3. 代码实例往往涵盖了多种编程技巧和最佳实践,通过学习和模仿这些实例,学习者可以逐步掌握如何编写高效、可读性强和可维护的代码。这对于初学者来说,是一种快速提升编程水平的有效途径。
FileStream.Seek是C#的System.IO命名空间下中的一个方法, 小编为大家找了一些网络大拿们常见的代码示例,源码中的FileStream.Seek() 已经帮大家高亮显示了,大家可以重点学习FileStream.Seek() 方法的写法,从而快速掌握该方法的应用。
FileStream.Seek的代码示例1 - GetEmbeddedData()
using System.IO; ///
/// Extracts the data embedded into MSI (into Binary table). /// /// The session. /// The name on resource in the Binary table. ///public static byte[] GetEmbeddedData(this Session session, string binary) { //If binary is accessed this way it will raise "stream handle is not valid" exception //object result = session.Database.ExecuteScalar("select Data from Binary where Name = 'Fake_CRT.msi'"); //Stream s = (Stream)result; //using (FileStream fs = new FileStream(@"....\Wix# Samples\Simplified Bootstrapper\Fake CRT1.msi", FileMode.Create)) //{ // int Length = 256; // var buffer = new Byte[Length]; // int bytesRead = s.Read(buffer, 0, Length); // while (bytesRead > 0) // { // fs.Write(buffer, 0, bytesRead); // bytesRead = s.Read(buffer, 0, Length); // } //} //however View approach is OK using (var sql = session.Database.OpenView("select Data from Binary where Name = '" + binary + "'")) { sql.Execute(); using (var record = sql.Fetch()) using (var stream = record.GetStream(1)) using (var ms = new IO.MemoryStream()) { int Length = 256; var buffer = new Byte[Length]; int bytesRead = stream.Read(buffer, 0, Length); while (bytesRead > 0) { ms.Write(buffer, 0, bytesRead); bytesRead = stream.Read(buffer, 0, Length); } ms.Seek(0, IO.SeekOrigin.Begin); return ms.ToArray(); } } }
开发者ID:oleg-shilo,项目名称:wixsharp,代码行数:47,代码来源:Extensions.cs
在GetEmbeddedData()方法中,FileStream的代码示例类中的Seek的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
FileStream.Seek的代码示例2 - 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的代码示例类中的Seek的代码示例方法一共出现了3次, 见黄色背景高亮显示的地方,欢迎大家点赞
FileStream.Seek的代码示例3 - 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的代码示例类中的Seek的代码示例方法一共出现了2次, 见黄色背景高亮显示的地方,欢迎大家点赞
FileStream.Seek的代码示例4 - 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的代码示例类中的Seek的代码示例方法一共出现了3次, 见黄色背景高亮显示的地方,欢迎大家点赞
FileStream.Seek的代码示例5 - GetBeaconsFromFile()
using System.IO; ///
/// Get Cobalt Strike Configurations from a file and output their contents to the console . /// /// Name of memory/dump file to be scanned for Cobalt Strike beacons private static void GetBeaconsFromFile(string fileName) { OutputMessageToConsole(LogLevel.Info, $"Scanning file: {fileName}"); Listbeacons = new List (); if (File.Exists(fileName)) { // Check the size of the file. If > 500MB, and notify that scanning will take time var fileSize = new FileInfo(fileName).Length; if (fileSize > Int32.MaxValue) { OutputMessageToConsole(LogLevel.Warn, $"\tFile is large: {fileSize / (1024 * 1024)} MB. Scanning will be slow."); } // Yara scan the file and return any matches List beaconMatches = CobaltStrikeScan.YaraScanFile(fileName, opts.Verbose); // Extract config bytes at each match offset and parse the beacon config from them if (beaconMatches.Count > 0) { if (opts.Verbose) { OutputMessageToConsole(LogLevel.Info, $"\t{beaconMatches.Count} Signature(s) detected in file. Attempting to extract and parse config...\n"); } foreach (BeaconMatch match in beaconMatches) { try { byte[] beaconConfigBytes = new byte[4096]; // Get a byte array from the offset of the file with beacon matches to avoid cases // where the file is too big to read in to a File object using (FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read)) { fileStream.Seek((long)match.Offset, SeekOrigin.Begin); fileStream.Read(beaconConfigBytes, 0, 4096); } match.Offset = 0; beacons.Add(new Beacon(beaconConfigBytes, match.Offset, match.Version)); } catch (System.IO.IOException) { /* if (opts.Verbose) { OutputMessageToConsole(LogLevel.Error, $"Error extracting signatured data from file at offset: {match.Offset}"); } */ } } if (beacons.Count > 0) { foreach (Beacon beacon in beacons) { if (beacon.isValidBeacon()) { OutputMessageToConsole(LogLevel.Success, $"Cobalt Strike Beacon Configuration\n"); beacon.OutputToConsole(); } } } else OutputBeaconNotFoundMessage(); } else { OutputBeaconNotFoundMessage(); } } else { OutputMessageToConsole(LogLevel.Error, $"File doesn't exist: {fileName}\nExiting..."); System.Environment.Exit(1); } }
开发者ID:Apr4h,项目名称:CobaltStrikeScan,代码行数:78,代码来源:ConsoleUI.cs
在GetBeaconsFromFile()方法中,FileStream的代码示例类中的Seek的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
FileStream.Seek的代码示例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的代码示例类中的Seek的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
FileStream.Seek的代码示例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的代码示例类中的Seek的代码示例方法一共出现了2次, 见黄色背景高亮显示的地方,欢迎大家点赞
FileStream.Seek的代码示例8 - CreateFileAppender()
using System.IO; ///
/// open a stream with optional trim extra blank lines /// /// Filename to open /// encoding of the file /// do we trim blank lines from end? /// do we close stream after trimming /// Buffer size to read ///TextWriter ready to write to internal static TextWriter CreateFileAppender(string fileName, Encoding encode, bool correctEnd, bool disposeStream, int bufferSize) { TextWriter res; if (correctEnd) { FileStream fs = null; try { fs = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite); //bool CarriageReturn = false; //bool LineFeed = false; // read the file backwards using SeekOrigin.Begin... long offset; for (offset = fs.Length - 1; offset >= 0; offset--) { fs.Seek(offset, SeekOrigin.Begin); int value = fs.ReadByte(); if (value == '\r') { } else if (value == '\n') { } else break; } if (offset >= 0) // read something else other than line ends... { var newLine = Environment.NewLine; var newline = new byte[newLine.Length]; int count = 0; foreach (var ch in newLine) { newline[count] = Convert.ToByte(ch); count++; } // Console.WriteLine(" value {0} count {1}\n", newline.Length, count); fs.Write(newline, 0, count); } res = new StreamWriter(fs, encode, bufferSize); } finally { if (disposeStream && fs != null) fs.Close(); } } else res = new StreamWriter(fileName, true, encode, bufferSize); return res; }
开发者ID:MarcosMeli,项目名称:FileHelpers,代码行数:63,代码来源:StreamHelper.cs
在CreateFileAppender()方法中,FileStream的代码示例类中的Seek的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
本文中的FileStream.Seek方法示例由csref.cn整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。