| using System;
using System.IO;
using System.Text;
public class TextReaderProg{
public static void Main(){
TextReader tr1 = new StreamReader(
new FileStream("f-iso.txt", FileMode.Open),
Encoding.GetEncoding("iso-8859-1")),
tr2 = new StreamReader(
new FileStream("f-utf8.txt", FileMode.Open),
new UTF8Encoding()),
tr3 = new StreamReader( // UTF-16
new FileStream("f-utf16.txt", FileMode.Open),
new UnicodeEncoding());
Console.WriteLine(tr1.ReadLine()); Console.WriteLine(tr1.ReadLine());
Console.WriteLine(tr2.ReadLine()); Console.WriteLine(tr2.ReadLine());
Console.WriteLine(tr3.ReadLine()); Console.WriteLine(tr3.ReadLine());
tr1.Close();
tr2.Close();
tr3.Close();
// Raw reading of the files to control the contents at byte level
FileStream fs1 = new FileStream("f-iso.txt", FileMode.Open),
fs2 = new FileStream("f-utf8.txt", FileMode.Open),
fs3 = new FileStream("f-utf16.txt", FileMode.Open);
StreamReport(fs1, "Iso Latin 1");
StreamReport(fs2, "UTF-8");
StreamReport(fs3, "UTF-16");
fs1.Close();
fs2.Close();
fs3.Close();
}
public static void StreamReport(FileStream fs, string encoding){
Console.WriteLine();
Console.WriteLine(encoding);
int ch, i = 0;
do{
ch = fs.ReadByte();
if (ch != -1) Console.Write("{0,4}", ch);
i++;
if (i%10 == 0) Console.WriteLine();
} while (ch != -1);
Console.WriteLine();
}
} |