C# Stream.SetLength的代码示例
通过代码示例来学习C# Stream.SetLength方法
通过代码示例来学习编程是非常高效的。
1. 代码示例提供了一个具体而直观的学习环境,使初学者能够立即看到编程概念和语法的实际应用。
2. 通过分析和模仿现有的代码实例,初学者可以更好地理解编程逻辑和算法的工作原理。
3. 代码实例往往涵盖了多种编程技巧和最佳实践,通过学习和模仿这些实例,学习者可以逐步掌握如何编写高效、可读性强和可维护的代码。这对于初学者来说,是一种快速提升编程水平的有效途径。
Stream.SetLength是C#的System.IO命名空间下中的一个方法, 小编为大家找了一些网络大拿们常见的代码示例,源码中的Stream.SetLength() 已经帮大家高亮显示了,大家可以重点学习Stream.SetLength() 方法的写法,从而快速掌握该方法的应用。
Stream.SetLength的代码示例1 - SignIndex()
using System.IO; private void SignIndex() { using (ITracer activity = this.tracer.StartActivity("SignIndex", EventLevel.Informational, Keywords.Telemetry, metadata: null)) { using (FileStream fs = File.Open(this.indexPath, FileMode.Open, FileAccess.ReadWrite)) { // Truncate the old hash off. The Index class is expected to preserve any existing hash. fs.SetLength(fs.Length - 20); using (HashingStream hashStream = new HashingStream(fs)) { fs.Position = 0; hashStream.CopyTo(Stream.Null); byte[] hash = hashStream.Hash; // The fs pointer is now where the old hash used to be. Perfect. :) fs.Write(hash, 0, hash.Length); } } } }
开发者ID:microsoft,项目名称:VFSForGit,代码行数:22,代码来源:Index.cs
在SignIndex()方法中,Stream的代码示例类中的SetLength的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Stream.SetLength的代码示例2 - OpenAppendInternal()
using System.IO; ///
/// Internal routine /// /// /// /// /// Normally false. Obsolete API uses true /// The token that can be used to cancel the entire process ///A stream for appending the file on the server public virtual async TaskOpenAppendInternal(string path, FtpDataType type, long fileLen, bool ignoreStaleData, CancellationToken token = default(CancellationToken)) { // verify args if (path.IsBlank()) { throw new ArgumentException("Required parameter is null or blank.", nameof(path)); } path = path.GetFtpPath(); LastStreamPath = path; LogFunction(nameof(OpenAppend), new object[] {path, type, fileLen, ignoreStaleData }); var client = this; FtpDataStream stream = null; long length = 0; length = fileLen == 0 ? await client.GetFileSize(path, -1, token) : fileLen; await client.SetDataTypeAsync(type, token); stream = await client.OpenDataStreamAsync("APPE " + path, 0, token); if (length > 0 && stream != null) { stream.SetLength(length); stream.SetPosition(length); } Status.IgnoreStaleData = ignoreStaleData; return stream; }
开发者ID:robinrodricks,项目名称:FluentFTP,代码行数:40,代码来源:OpenAppend.cs
在OpenAppendInternal()方法中,Stream的代码示例类中的SetLength的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Stream.SetLength的代码示例3 - OpenReadInternal()
using System.IO; ///
/// Internal routine /// /// /// /// /// /// Normally false. Obsolete API uses true /// The token that can be used to cancel the entire process ///A stream for reading the file on the server public virtual async TaskOpenReadInternal(string path, FtpDataType type, long fileLen, long restart, bool ignoreStaleData, CancellationToken token = default(CancellationToken)) { // verify args if (path.IsBlank()) { throw new ArgumentException("Required parameter is null or blank.", nameof(path)); } path = path.GetFtpPath(); LastStreamPath = path; LogFunction(nameof(OpenRead), new object[] { path, type, restart, fileLen, ignoreStaleData }); var client = this; FtpDataStream stream = null; long length = 0; length = fileLen == 0 ? await client.GetFileSize(path, -1, token) : fileLen; await client.SetDataTypeAsync(type, token); stream = await client.OpenDataStreamAsync("RETR " + path, restart, token); if (stream != null) { if (length > 0) { stream.SetLength(length); } if (restart > 0) { stream.SetPosition(restart); } } Status.IgnoreStaleData = ignoreStaleData; return stream; }
开发者ID:robinrodricks,项目名称:FluentFTP,代码行数:46,代码来源:OpenRead.cs
在OpenReadInternal()方法中,Stream的代码示例类中的SetLength的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Stream.SetLength的代码示例4 - OpenWriteInternal()
using System.IO; ///
/// Internal routine /// /// /// /// /// Normally false. Obsolete API uses true /// The token that can be used to cancel the entire process ///A stream for writing the file on the server public virtual async TaskOpenWriteInternal(string path, FtpDataType type, long fileLen, bool ignoreStaleData, CancellationToken token = default(CancellationToken)) { // verify args if (path.IsBlank()) { throw new ArgumentException("Required parameter is null or blank.", nameof(path)); } path = path.GetFtpPath(); LastStreamPath = path; LogFunction(nameof(OpenWrite), new object[] {path, type, fileLen, ignoreStaleData }); var client = this; FtpDataStream stream = null; long length = 0; length = fileLen == 0 ? await client.GetFileSize(path, -1, token) : fileLen; await client.SetDataTypeAsync(type, token); stream = await client.OpenDataStreamAsync("STOR " + path, 0, token); if (length > 0 && stream != null) { stream.SetLength(length); } Status.IgnoreStaleData = ignoreStaleData; return stream; }
开发者ID:robinrodricks,项目名称:FluentFTP,代码行数:39,代码来源:OpenWrite.cs
在OpenWriteInternal()方法中,Stream的代码示例类中的SetLength的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Stream.SetLength的代码示例5 - SaveAsync()
using System.IO; ///
public override async Task SaveAsync(CancellationToken cancellationToken = default) { try { await storageSemaphore.WaitAsync(cancellationToken); await EnsureSettingsFileAsync(cancellationToken); _ = _databaseFile ?? throw new InvalidOperationException("The database file was not properly initialized."); await using var dataStream = await _databaseFile.OpenStreamAsync(FileAccess.ReadWrite, FileShare.Read, cancellationToken); await using var settingsStream = await serializer.SerializeAsync (settingsCache, cancellationToken); // Overwrite existing content dataStream.Position = 0L; dataStream.SetLength(0L); // Copy contents settingsStream.Position = 0L; await settingsStream.CopyToAsync(dataStream, cancellationToken); return true; } finally { _ = storageSemaphore.Release(); } }
开发者ID:files-community,项目名称:Files,代码行数:30,代码来源:SingleFileDatabaseModel.cs
在SaveAsync()方法中,Stream的代码示例类中的SetLength的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Stream.SetLength的代码示例6 - CreateFolderAsync()
using System.IO; public override IAsyncOperation
CreateFolderAsync(string desiredName, CreationCollisionOption options) { return AsyncInfo.Run((cancellationToken) => SafetyExtensions.Wrap (async () => { var zipDesiredName = System.IO.Path.Combine(Path, desiredName); var item = await GetItemAsync(desiredName); if (item is not null) { if (options != CreationCollisionOption.ReplaceExisting) { return null; } await item.DeleteAsync(); } using (var ms = new MemoryStream()) { using (var archiveStream = await OpenZipFileAsync(FileAccessMode.Read)) { SevenZipCompressor compressor = new SevenZipCompressor() { CompressionMode = CompressionMode.Append }; compressor.SetFormatFromExistingArchive(archiveStream); var fileName = IO.Path.GetRelativePath(containerPath, zipDesiredName); await compressor.CompressStreamDictionaryAsync(archiveStream, new Dictionary () { { fileName, null } }, Credentials.Password, ms); } using (var archiveStream = await OpenZipFileAsync(FileAccessMode.ReadWrite)) { ms.Position = 0; await ms.CopyToAsync(archiveStream); await ms.FlushAsync(); archiveStream.SetLength(archiveStream.Position); } } var folder = new ZipStorageFolder(zipDesiredName, containerPath, backingFile); ((IPasswordProtectedItem)folder).CopyFrom(this); return folder; }, ((IPasswordProtectedItem)this).RetryWithCredentialsAsync)); }
开发者ID:files-community,项目名称:Files,代码行数:39,代码来源:ZipStorageFolder.cs
在CreateFolderAsync()方法中,Stream的代码示例类中的SetLength的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Stream.SetLength的代码示例7 - Initialize()
using System.IO; ///
/// Create a new empty database (use synced mode) /// private void Initialize(Stream stream, Collation collation, long initialSize) { var buffer = new PageBuffer(new byte[PAGE_SIZE], 0, 0); var header = new HeaderPage(buffer, 0); // update collation header.Pragmas.Set(Pragmas.COLLATION, (collation ?? Collation.Default).ToString(), false); // update buffer header.UpdateBuffer(); stream.Write(buffer.Array, buffer.Offset, PAGE_SIZE); if (initialSize > 0) { if (stream is AesStream) throw LiteException.InitialSizeCryptoNotSupported(); if (initialSize % PAGE_SIZE != 0) throw LiteException.InvalidInitialSize(); stream.SetLength(initialSize); } stream.FlushToDisk(); }
开发者ID:mbdavid,项目名称:LiteDB,代码行数:27,代码来源:DiskService.cs
在Initialize()方法中,Stream的代码示例类中的SetLength的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
Stream.SetLength的代码示例8 - Save()
using System.IO; ///
/// Saves the current image to the specified output stream. /// /// The stream to save the image information to. /// The format which which to encode the image. /// The color depth in bits per pixel. ///The current public ImageFactory Save(Stream stream, IImageFormat format, BitDepth bitDepth) { this.CheckLoaded(); // Allow the same stream to be used as for input. if (stream.CanSeek) { stream.SetLength(0); } format.Save(stream, this.Image, bitDepth, this.Quality); if (stream.CanSeek) { stream.Position = 0; } return this; }.
开发者ID:JimBobSquarePants,项目名称:ImageProcessor,代码行数:27,代码来源:ImageFactory.cs
在Save()方法中,Stream的代码示例类中的SetLength的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞
本文中的Stream.SetLength方法示例由csref.cn整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。