C# FileStream.SetLength的代码示例

通过代码示例来学习C# FileStream.SetLength方法

通过代码示例来学习编程是非常高效的。
1. 代码示例提供了一个具体而直观的学习环境,使初学者能够立即看到编程概念和语法的实际应用。
2. 通过分析和模仿现有的代码实例,初学者可以更好地理解编程逻辑和算法的工作原理。
3. 代码实例往往涵盖了多种编程技巧和最佳实践,通过学习和模仿这些实例,学习者可以逐步掌握如何编写高效、可读性强和可维护的代码。这对于初学者来说,是一种快速提升编程水平的有效途径。


FileStream.SetLength是C#的System.IO命名空间下中的一个方法, 小编为大家找了一些网络大拿们常见的代码示例,源码中的FileStream.SetLength() 已经帮大家高亮显示了,大家可以重点学习FileStream.SetLength() 方法的写法,从而快速掌握该方法的应用。

FileStream.SetLength的代码示例1 - WriteToFileOrStream()

    using System.IO;

    #endregion

    #region Private Method


























































    private void WriteToFileOrStream()
    {
      if( _filename != null && !_isCopyingDocument)
      {
        using( var fs = new FileStream( _filename, FileMode.Create ) )
        {
          if( _memoryStream.CanSeek )
          {
            // Write to the beginning of the stream
            _memoryStream.Position = 0;
            HelperFunctions.CopyStream( _memoryStream, fs );
          }
          else
            fs.Write( _memoryStream.ToArray(), 0, (int)_memoryStream.Length );
        }
      }
      else if( _stream.CanSeek )  //Check if stream can be seeked to support System.Web.HttpResponseStream.
      {
        // Set the length of this stream to 0
        _stream.SetLength( 0 );

        // Write to the beginning of the stream
        _stream.Position = 0;

        _memoryStream.WriteTo( _stream );
        _memoryStream.Flush();
      }
    }
    

开发者ID:xceedsoftware,项目名称:DocX,代码行数:91,代码来源:DocX.cs

在WriteToFileOrStream()方法中,FileStream的代码示例类中的SetLength的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

FileStream.SetLength的代码示例2 - GitRequestsReplacementForTruncatedObject()

    using System.IO;

        [TestCase]
        public void GitRequestsReplacementForTruncatedObject()
        {
            Action truncateObject = (string objectPath) =>
            {
                FileInfo objectFileInfo = new FileInfo(objectPath);
                using (FileStream objectStream = new FileStream(objectPath, FileMode.Open))
                {
                    objectStream.SetLength(objectFileInfo.Length - 8);
                }
            };

            this.RunGitDiffWithCorruptObject(truncateObject);

            // TODO 1114508: Update git cat-file to request object from GVFS when it finds a truncated object on disk.
            ////this.RunGitCatFileWithCorruptObject(truncateObject);

            this.RunGitResetHardWithCorruptObject(truncateObject);
            this.RunGitCheckoutOnFileWithCorruptObject(truncateObject);
        }
    

开发者ID:microsoft,项目名称:VFSForGit,代码行数:22,代码来源:GitCorruptObjectTests.cs

在GitRequestsReplacementForTruncatedObject()方法中,FileStream的代码示例类中的SetLength的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

FileStream.SetLength的代码示例3 - 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()方法中,FileStream的代码示例类中的SetLength的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

FileStream.SetLength的代码示例4 - RecreateTempFile()

    using System.IO;

        public void RecreateTempFile()
        {
            lock (_lineMappingList)
            {
                _lineMappingList = new List();
            }
            lock (FileName)
            {
                CloseFile();
                // trunc file
                FileStream fStream = new FileStream(FileName, FileMode.Truncate, FileAccess.Write, FileShare.Read);
                fStream.SetLength(0);
                fStream.Close();
            }
        }
    

开发者ID:zarunbal,项目名称:LogExpert,代码行数:17,代码来源:FilterPipe.cs

在RecreateTempFile()方法中,FileStream的代码示例类中的SetLength的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

FileStream.SetLength的代码示例5 - GetLength()

    using System.IO;

        /// 
        /// Get file length using FileInfo. Crop file length if not length % PAGE_SIZE
        /// 
        public long GetLength()
        {
            // if not file do not exists, returns 0
            if (!this.Exists()) return 0;

            // get physical file length from OS
            var length = new FileInfo(_filename).Length;

            // if file length are not PAGE_SIZE module, maybe last save are not completed saved on disk
            // crop file removing last uncompleted page saved
            if (length % PAGE_SIZE != 0)
            {
                length = length - (length % PAGE_SIZE);

                using (var fs = new FileStream(
                    _filename,
                    System.IO.FileMode.Open,
                    FileAccess.Write,
                    FileShare.None,
                    PAGE_SIZE,
                    FileOptions.SequentialScan))
                {
                    fs.SetLength(length);
                    fs.FlushToDisk();
                }
            }

            // if encrypted must remove salt first page (only if page contains data)
            return length > 0 ?
                length - (_password == null ? 0 : PAGE_SIZE) :
                0;
        }
    

开发者ID:mbdavid,项目名称:LiteDB,代码行数:37,代码来源:FileStreamFactory.cs

在GetLength()方法中,FileStream的代码示例类中的SetLength的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

FileStream.SetLength的代码示例6 - Backup()

    using System.IO;

        /// 备份单表数据到文件
        /// 数据表
        /// 文件。.gz后缀时采用压缩
        /// 
        public Int32 Backup(IDataTable table, String file = null)
        {
            if (file.IsNullOrEmpty()) file = table + ".table";

            var file2 = file.GetFullPath();
            file2.EnsureDirectory(true);

            WriteLog("备份[{0}/{1}]到文件 {2}", table, Dal.ConnName, file2);

            using var fs = new FileStream(file2, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
            var rs = 0;
            if (file.EndsWithIgnoreCase(".gz"))
            {
                using var gs = new GZipStream(fs, CompressionLevel.Optimal, true);
                rs = Backup(table, gs);
            }
            else
            {
                rs = Backup(table, fs);
            }

            // 截断文件
            fs.SetLength(fs.Position);

            return rs;
        }
    

开发者ID:NewLifeX,项目名称:X,代码行数:32,代码来源:DbPackage.cs

在Backup()方法中,FileStream的代码示例类中的SetLength的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

FileStream.SetLength的代码示例7 - Execute()

    using System.IO;

#if NETFRAMEWORK
        /// 
        public override bool Execute()
        {
            // attempt to use local codegen
            string fileContent = this.BuildCode();
            if (fileContent is object)
            {
                Directory.CreateDirectory(Path.GetDirectoryName(this.OutputFile));
                Utilities.FileOperationWithRetry(() => File.WriteAllText(this.OutputFile, fileContent));
            }
            else if (CodeDomProvider.IsDefinedLanguage(this.CodeLanguage))
            {
                using (var codeDomProvider = CodeDomProvider.CreateProvider(this.CodeLanguage))
                {
                    this.generatedFile = new CodeCompileUnit();
                    this.generatedFile.AssemblyCustomAttributes.AddRange(this.CreateAssemblyAttributes().ToArray());

                    var ns = new CodeNamespace();
                    this.generatedFile.Namespaces.Add(ns);

                    if (this.EmitThisAssemblyClass)
                    {
                        ns.Types.Add(this.CreateThisAssemblyClass());
                    }

                    Directory.CreateDirectory(Path.GetDirectoryName(this.OutputFile));
                    FileStream file = null;
                    Utilities.FileOperationWithRetry(() => file = File.OpenWrite(this.OutputFile));
                    using (file)
                    {
                        using (var fileWriter = new StreamWriter(file, new UTF8Encoding(true), 4096, leaveOpen: true))
                        {
                            codeDomProvider.GenerateCodeFromCompileUnit(this.generatedFile, fileWriter, CodeGeneratorOptions);
                        }

                        // truncate to new size.
                        file.SetLength(file.Position);
                    }
                }
            }
            else
            {
                this.Log.LogError("CodeDomProvider not available for language: {0}. No version info will be embedded into assembly.", this.CodeLanguage);
            }

            return !this.Log.HasLoggedErrors;
        }
#endif

#if !NETFRAMEWORK
        /// 
        public override bool Execute()
        {
            string fileContent = this.BuildCode();
            if (fileContent is object)
            {
                Directory.CreateDirectory(Path.GetDirectoryName(this.OutputFile));
                Utilities.FileOperationWithRetry(() => File.WriteAllText(this.OutputFile, fileContent));
            }
            else
            {
                this.Log.LogError("CodeDomProvider not available for language: {0}. No version info will be embedded into assembly.", this.CodeLanguage);
            }

            return !this.Log.HasLoggedErrors;
        }
    

开发者ID:dotnet,项目名称:Nerdbank.GitVersioning,代码行数:69,代码来源:AssemblyVersionInfo.cs

在Execute()方法中,FileStream的代码示例类中的SetLength的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

本文中的FileStream.SetLength方法示例由csref.cn整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。