C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#でファイルを切り詰める方法:FileStream.SetLengthメソッドの使い方

C#でファイルを切り詰めたい場合は、FileStreamクラスのSetLengthメソッドを使用します。このメソッドを使うことで、ストリームの長さを任意のサイズに設定できます。

SetLengthメソッドの構文

public override void SetLength (long value);

引数「value」には、ストリームの新しい長さをint64(long型)で指定します。

指定した値が現在の長さより小さい場合

指定した値が現在のストリーム長より小さい場合、ストリームは切り詰められます。その際、現在位置が新しい長さよりも後ろにある場合は、現在位置は自動的にストリームの最終バイトへ移動されます。

指定した値が現在の長さより大きい場合

逆に、指定した値が現在のストリーム長より大きい場合は、ストリームが拡張され、現在位置は変更されません。ただし、拡張によって追加された領域(旧長から新長までの間)の内容は未定義となるため、注意が必要です。

実装例

以下は、FileStream.SetLengthメソッドを使ってファイルを切り詰めるコード例です。

public void Export(string path) {
    FileStream oStream = new FileStream(path, FileMode.Open, FileAccess.ReadWrite);
    oStream.SetLength(Length);
}

このように、FileMode.OpenとFileAccess.ReadWriteを指定してFileStreamを開き、SetLengthメソッドで目的の長さを設定するだけで、簡単にファイルの切り詰め処理を実装できます。

  1. Windows 10でファイルを暗号化する方法|標準機能とフリーソフト両方の手順を徹底解説

    Windows 10のパソコンでは、ファイルを暗号化して同時にパスワード保護をかけられることをご存知ですか?この機能を活用すれば、許可した相手以外はあなたのプライベートなファイルを開けなくなります。ここで注意したいのは、ファイルの暗号化は単なるロックとは違うという点です。ロックは解除されたりハッキングされたりする恐れがありますが、強力な暗号化を施しておけば、適切なソフトと正しいパスワードを持たない人にとって、そのファイルはただの無意味なデータになります。この記事では、Windows 10のパソコンでファイルを暗号化・復号化する具体的な手順を、2つの方法に分けて詳しく解説します。方法1:Wind

  2. MacでファイルをZIP圧縮する方法を徹底解説|Windowsの手順もあわせて紹介

    Macでファイルの圧縮(ZIP化)のやり方をお探しですか?この記事では、macOSの標準機能を使ってファイルやデータをZIP形式に圧縮する手順を、ステップバイステップでわかりやすく解説します。 ファイル圧縮は、デジタルワークスペースを整理整頓するための最も便利な方法の一つです。ZIP形式を活用すれば、複数のファイルや大量のデータをより速いスピードで簡単に送信できます。ZIPは可逆圧縮(ロスレス圧縮)に対応した実用的なアーカイブ形式で、複数のファイルを1つのフォルダ/ファイルにまとめて送れるのが大きな特徴です。ストレージ容量を節約できるうえ、データ共有も高速化します。また、圧縮済みファイルは移