■■■

2016年4月2日土曜日

文字コードを指定してファイルを読み取る方法

文字コードを指定してファイルを読み取る方法
VB.NET
Dim sr As New System.IO.StreamReader("C:\write\1.txt", _
System.Text.Encoding.GetEncoding("shift_jis"))
Dim s As String = sr.ReadToEnd()
sr.Close()

Console.WriteLine(s)
C#
System.IO.StreamReader sr = new System.IO.StreamReader(
@"C:\write\1.txt",
System.Text.Encoding.GetEncoding("shift_jis"));
string s = sr.ReadToEnd();
sr.Close();

Console.WriteLine(s);
文字コードを指定してファイルを読み取る方法2
VB.NET
Dim sr As New System.IO.StreamReader("C:\write\2.txt")
Dim s As String = sr.ReadToEnd()
sr.Close()
C#
System.IO.StreamReader sr = new System.IO.StreamReader(@"C:\write\2.txt");
string s = sr.ReadToEnd();
sr.Close();
Fileを一行ずつ読み込む方法
VB.NET
Dim sr As New System.IO.StreamReader("C:\write\1.txt", _
System.Text.Encoding.GetEncoding("shift_jis"))
While sr.Peek() > -1
Console.WriteLine(sr.ReadLine())
End While
sr.Close()
C#
System.IO.StreamReader sr = new System.IO.StreamReader(
@"C:\write\1.txt",
System.Text.Encoding.GetEncoding("shift_jis"));
while (sr.Peek() > -1)
{
Console.WriteLine(sr.ReadLine());
}
sr.Close();
ファイルを一文字ずつ読み取りたい場合
VB.NET
Dim sr As New System.IO.StreamReader( _
"C:\write\1.txt", System.Text.Encoding.GetEncoding("shift_jis"))
While sr.Peek() > -1
Console.Write(Convert.ToChar(sr.Read()))
End While
sr.Close()
C#
System.IO.StreamReader sr = new System.IO.StreamReader(
@"C:\write\1.txt",
System.Text.Encoding.GetEncoding("shift_jis"));
while (sr.Peek() > -1)
{
Console.Write(Convert.ToChar(sr.Read()));
}
sr.Close();
ファイルから特定の文字数を読み取る方法
VB.NET
Dim sr As New System.IO.StreamReader( _
"C:\write\1.txt", System.Text.Encoding.GetEncoding("shift_jis"))
While sr.Peek() > -1
Dim c(9) As Char
sr.ReadBlock(c, 0, c.Length)
Console.Write(c)
End While
sr.Close()
C#
System.IO.StreamReader sr = new System.IO.StreamReader(
@"C:\write\1.txt",
System.Text.Encoding.GetEncoding("shift_jis"));
while (sr.Peek() > -1)
{
char[] c = new char[10];
sr.ReadBlock(c, 0, c.Length);
Console.Write(c);
}
sr.Close();
Stream以外の方法でファイルを読み込む方法
VB.NET
Dim textFile As String = "C:\write\1.txt"
Dim enc As System.Text.Encoding = System.Text.Encoding.GetEncoding("shift_jis")

Dim str As String = System.IO.File.ReadAllText(textFile, enc)

Dim lines As String() = System.IO.File.ReadAllLines(textFile, enc)
C#
string textFile = @"C:\write\1.txt";
System.Text.Encoding enc = System.Text.Encoding.GetEncoding("shift_jis");

string str = System.IO.File.ReadAllText(textFile, enc);

string[] lines = System.IO.File.ReadAllLines(textFile, enc);

■■■