12,796
回編集
細 (Wiki がページ「C Sharpの基礎 - バイナリファイルの読み書き」を「C Sharpの基礎 - ファイル」に、リダイレクトを残さずに移動しました) |
|||
215行目: | 215行目: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> | ||
==== | ==== テキストファイルの一括読み込み ==== | ||
テキストを1行ずつ処理する場合、各行を要素とする文字列配列を使用する。<br> | |||
これは、<code>System.IO.File</code>クラスの<code>ReadAllLines</code>メソッドを使用して実行する。<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> | ||
以下の例では、ファイルの読み取り専用属性を解除して、ファイルを削除している。<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]] |