<このサンプルの概要>
ファイルをいろんな方法で読込むサンプルです。いろんな方法とは以下の通りです。
1.文字コード(SJIS,JIS,EUC,UNICODE,UTF7,UTF8)を指定してテキスト形式でファイルを読込む
(1)ファイル全部を一括で(一気に)読込む
(2)ファイルを一行ごとに読込む
(3)ファイルを一文字ごとに読込む
2.バイナリ形式でファイルで読込む
(1)ファイル全部を一括で(一気に)読込む
(2)ファイルを一バイトごとに読込む
文字コードを指定してテキスト形式でファイルを読込む(全部一気に読込む)
文字コードを指定してテキスト形式でファイルを読込む(一行ずつ読込む)
文字コードを指定してテキスト形式でファイルを読込む(一文字ずつ読込む)
バイナリ形式でファイルで読込む(全部一気に読込む)
バイナリ形式でファイルで読込む(一バイトずつ読込む)
ファイル出力の方法のサンプルはこちらです。
ファイル出力方法のいろいろ(C#.NET)
C#.NETのサンプルはこちらです。
ファイル入力方法のいろいろ(VB.NET)
文字コード関係のその他のツールやサンプルはこちらです。
文字コード変換/文字コード判定
/// <summary>
/// テキストファイル入力(ファイル全部を一括で読込む)
/// </summary>
/// <param name="fpath">ファイルPATH</param>
/// <param name="cname">文字コード名</param>
/// <returns>入力した文字列データ</returns>
/// <主な文字コード名>
/// SJIS="SHIFT-JIS"
/// JIS="ISO-2022-JP"
/// EUC="EUC-JP"
/// UNICODE="UNICODE"
/// UTF7="UTF-7"
/// UTF8="UTF-8"
public String ReadText_A(String fpath, String cname)
{
String dt = "";
System.IO.StreamReader sr = null;
try
{
sr = new System.IO.StreamReader(fpath,
System.Text.Encoding.GetEncoding(cname));
dt = sr.ReadToEnd();
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (sr != null) sr.Close();
}
return dt;
}
/// <summary>
/// テキストファイル入力(ファイルを一行ずつ読込む)
/// </summary>
/// <param name="fpath">ファイルPATH</param>
/// <param name="cname">文字コード名</param>
/// <returns>入力した文字列データ</returns>
/// <主な文字コード名>
/// SJIS="SHIFT-JIS"
/// JIS="ISO-2022-JP"
/// EUC="EUC-JP"
/// UNICODE="UNICODE"
/// UTF7="UTF-7"
/// UTF8="UTF-8"
public String ReadText_L(String fpath, String cname)
{
String dt = "";
System.IO.StreamReader sr = null;
try
{
sr = new System.IO.StreamReader(fpath,
System.Text.Encoding.GetEncoding(cname));
String ln;
do
{
ln = sr.ReadLine();
if (ln != null) dt += ln + "\n";
} while (ln != null);
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (sr != null) sr.Close();
}
return dt;
}
/// <summary>
/// テキストファイル入力(ファイルを一文字ずつ読込む)
/// </summary>
/// <param name="fpath">ファイルPATH</param>
/// <param name="cname">文字コード名</param>
/// <returns>入力した文字列データ</returns>
/// <主な文字コード名>
/// SJIS="SHIFT-JIS"
/// JIS="ISO-2022-JP"
/// EUC="EUC-JP"
/// UNICODE="UNICODE"
/// UTF7="UTF-7"
/// UTF8="UTF-8"
public String ReadText_C(String fpath, String cname)
{
String dt = "";
System.IO.StreamReader sr = null;
try
{
sr = new System.IO.StreamReader(fpath,
System.Text.Encoding.GetEncoding(cname));
while( sr.Peek() >= 0){
Char[] c=new char[1];
sr.Read(c, 0, 1);
dt += c[0];
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (sr != null) sr.Close();
}
return dt;
}
/// <summary>
/// バイナリファイル入力(ファイル全部を一括で読込む)
/// </summary>
/// <param name="fpath">ファイルPATH</param>
/// <returns></returns>
public Byte[] ReadBinary_A(String fpath)
{
Byte[] dt = new Byte[] { };
System.IO.Stream sr = null;
System.IO.BinaryReader br = null;
try
{
sr = System.IO.File.Open(fpath,
System.IO.FileMode.Open,
System.IO.FileAccess.Read);
br = new System.IO.BinaryReader(sr);
dt = new Byte[sr.Length];
br.Read(dt, 0, dt.Length);
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (br != null) br.Close();
if (sr != null) sr.Close();
}
return dt;
}
/// <summary>
/// バイナリファイル入力(ファイルを一バイトずつ読込む)
/// </summary>
/// <param name="fpath">ファイルPATH</param>
/// <returns></returns>
public Byte[] ReadBinary_B(String fpath)
{
Byte[] dt = new Byte[] { };
System.IO.Stream sr = null;
System.IO.BinaryReader br = null;
try
{
sr = System.IO.File.Open(fpath,
System.IO.FileMode.Open,
System.IO.FileAccess.Read);
br = new System.IO.BinaryReader(sr);
System.IO.FileInfo fi = new System.IO.FileInfo(fpath);
while (t.GetLength(0) < fi.Length){
// ReDim Preserve dt(dt.GetLength(0))
Array.Resize<Byte>(ref dt, dt.GetLength(0) + 1);
br.Read(dt, dt.GetLength(0) - 1, 1);
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (br != null) br.Close();
if (sr != null) sr.Close();
}
return dt;
}
|
|