using System;
using System.IO;
using System.Text;
class MainClass {
static void Main() {
using (FileStream fs = new FileStream("test.txt", FileMode.Create)) {
using (StreamWriter w = new StreamWriter(fs, Encoding.UTF8)) {
w.WriteLine(124.23M);
w.WriteLine("Test string");
w.WriteLine('!');
}
}
using (FileStream fs = new FileStream("test.txt", FileMode.Open)) {
using (StreamReader r = new StreamReader(fs, Encoding.UTF8)) {
Console.WriteLine(Decimal.Parse(r.ReadLine()));
Console.WriteLine(r.ReadLine());
Console.WriteLine(Char.Parse(r.ReadLine()));
}
}
}
}
File Stream
Construct StreamWriter from FileSream
using System;
using System.IO;
public class IOExample
{
static void Main() {
FileStream fs;
StreamWriter sw;
try {
fs = new FileStream("practice.txt", FileMode.Open );
sw = new StreamWriter(fs);
// write a line to the file
string newLine = "Not so different from you and me";
sw.WriteLine(newLine);
// close the streams
sw.Close();
fs.Close();
} catch (IOException ioe) {
Console.WriteLine("IOException occurred: "+ioe.Message);
}
}
}
Catch file read exception and retry
using System;
using System.IO;
class Retry {
static void Main() {
StreamReader sr;
int attempts = 0;
int maxAttempts = 3;
GetFile:
Console.Write(”
[Attempt #{0}] Specify file ” + “to open/read: “, attempts + 1);
string fileName = Console.ReadLine();
try {
sr = new StreamReader(fileName);
string s;
while (null != (s = sr.ReadLine())) {
Console.WriteLine(s);
}
sr.Close();
} catch (FileNotFoundException e) {
Console.WriteLine(e.Message);
if (++attempts < maxAttempts) {
Console.Write("Do you want to select another file: ");
string response = Console.ReadLine();
response = response.ToUpper();
if (response == "Y") goto GetFile;
} else {
Console.Write("You have exceeded the maximum retry limit ({0})", maxAttempts);
}
} catch (Exception e) {
Console.WriteLine(e.Message);
}
}
}
[/csharp]
StreamReader.ReadLine
using System;
using System.IO;
public class MainClass {
public static void Main() {
FileStream fs2 = File.Create("Bar.txt");
StreamWriter w2 = new StreamWriter(fs2);
w2.Write("Goodbye Mars");
w2.Close();
fs2 = File.Open("Bar.txt", FileMode.Open, FileAccess.Read, FileShare.None);
StreamReader r2 = new StreamReader(fs2);
String t;
while ((t = r2.ReadLine()) != null) {
Console.WriteLine(t);
}
w2.Close();
fs2.Close();
}
}
Read data in line by line
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
class Program {
static void Main(string[] args) {
string strLine;
try {
FileStream aFile = new FileStream("Log.txt", FileMode.Open);
StreamReader sr = new StreamReader(aFile);
strLine = sr.ReadLine();
while (strLine != null) {
Console.WriteLine(strLine);
strLine = sr.ReadLine();
}
sr.Close();
} catch (IOException e) {
Console.WriteLine("An IO exception has been thrown!");
Console.WriteLine(e.ToString());
return;
}
}
}
Reading from a text file line by line
using System;
using System.IO;
class MainClass {
public static void Main(string[] args) {
try {
FileStream fs = new FileStream("c:a.txt", FileMode.Open);
StreamReader sr = new StreamReader(fs);
string line = "";
int lineNo = 0;
do {
line = sr.ReadLine();
if (line != null) {
Console.WriteLine("{0}: {1}", lineNo, line);
lineNo++;
}
} while (line != null);
} catch (Exception e) {
Console.WriteLine("Exception in ShowFile: {0}", e);
}
}
}
Use StreamWriter to create a text file
using System;
using System.IO;
public class MyStreamWriterReader {
static void Main(string[] args) {
StreamWriter writer = new StreamWriter(“reminders.txt”);
writer.WriteLine(“…”);
writer.WriteLine(“Don't forget these numbers:”);
for (int i = 0; i < 10; i++)
writer.Write(i + " ");
writer.Write(writer.NewLine);
writer.Close();
StreamReader sr = new StreamReader("reminders.txt");
string input = null;
while ((input = sr.ReadLine()) != null) {
Console.WriteLine(input);
}
}
}
[/csharp]