「C Sharpの基礎 - ファイル」の版間の差分

ナビゲーションに移動 検索に移動
(Wiki がページ「C Sharpの基礎 - バイナリファイルの読み書き」を「C Sharpの基礎 - ファイル」に、リダイレクトを残さずに移動しました)
215行目: 215行目:
  </syntaxhighlight>
  </syntaxhighlight>
<br>
<br>
==== サンプルコード(File.ReadAllLinesメソッドによる文字列配列への読み込み) ====
==== テキストファイルの一括読み込み ====
読み込んだテキストを1行ずつ処理する場合は、各行を要素とする文字列配列を使用する方が便利である。<br>
テキストを1行ずつ処理する場合、各行を要素とする文字列配列を使用する。<br>
これを行うのがFileクラスのReadAllLinesメソッドである。ReadAllLinesメソッドで使用するデフォルトの文字コードは、UTF-8である。<br>
これは、<code>System.IO.File</code>クラスの<code>ReadAllLines</code>メソッドを使用して実行する。<br>
以下に、ReadAllLinesメソッドを使ったサンプルコードを示す。<br>
<u><code>ReadAllLines</code>メソッドで使用する標準の文字コードは、UTF-8である。</u><br>
<br>
なお、<code>ReadAllLines</code>メソッドは、ファイル末尾の改行文字を無視する。<br>
ファイル末尾に改行文字がある場合、<code>ReadAllLines</code>メソッドで得られる行数は1行少なくなる。<br>
<br>
以下の例では、テキストファイルの内容を一括して読み込んでいる。<br>
  <syntaxhighlight lang="c#">
  <syntaxhighlight lang="c#">
  using System.Text;
  using System.Text;
232行目: 237行目:
  }
  }
  </syntaxhighlight>
  </syntaxhighlight>
<br><br>
== ファイルを確実に削除する ==
<code>System.IO.File</code>クラスの<code>Delete</code>メソッドを使用する場合、読み取り専用ファイルに対して実行すると例外が発生する。<br>
これを解決するには、ファイルを削除する前に、ファイルの読み取り専用属性を解除する。<br>
<br>
<br>
尚、ReadAllLinesメソッドはファイル末尾の改行文字を無視する。<br>
以下の例では、ファイルの読み取り専用属性を解除して、ファイルを削除している。<br>
ファイル末尾に改行文字がある場合、ReadAllLinesメソッドで得られる行数は1行少なくなる。<br>
<syntaxhighlight lang="c#">
public static void main(string[] args)
{
    // 読み取り専用ファイルの場合でも削除する
    DeleteFile(@"C:\Hoge\");
}
/// -----------------------------------------------------------------------------
/// <summary>
///    指定したファイルを削除する</summary>
/// <param name="stFilePath">
///    削除するファイルまでのパス</param>
/// -----------------------------------------------------------------------------
public static void DeleteFile(string stFilePath)
{
    System.IO.FileInfo cFileInfo = new System.IO.FileInfo(stFilePath);
    // ファイルが存在しているか判断する
    if(cFileInfo.Exists)
    {
      // 読み取り専用属性がある場合は、読み取り専用属性を解除する
      if((cFileInfo.Attributes & System.IO.FileAttributes.ReadOnly) == System.IO.FileAttributes.ReadOnly)
      {
          cFileInfo.Attributes = System.IO.FileAttributes.Normal;
      }
      // ファイルを削除する
      cFileInfo.Delete();
    }
}
</syntaxhighlight>
<br><br>
<br><br>


__FORCETOC__
__FORCETOC__
[[カテゴリ:C_Sharp]]
[[カテゴリ:C_Sharp]]

案内メニュー