字节流的操作就是filestream
字符流的操作有:streamreader 和streamwriter
FileStream对象通常会在StreamWriter或StreamReader内使用,并使用它们的方法处理文件。
/// <summary>
/// StreamWriter写入方法
/// </summary>
private void StreamWriterMetod()
{
try
{
FileStream fsFile = new FileStream(@"d:\log.txt",FileMode.OpenOrCreate);
StreamWriter swWriter = new StreamWriter(fsFile);
//写入数据
swWriter.WriteLine("Hello Wrold.");
swWriter.WriteLine("It is now {0}", DateTime.Now.ToLongDateString());
swWriter.Close();
}
catch (Exception e)
{
throw e;
}
}
/// <summary>
/// StreamWriter读取方法
/// </summary>
private void StreamReaderMetod()
{
string sLine = "";
try
{
FileStream fsFile = new FileStream(@"d:\log.txt", FileMode.Open);
StreamReader srReader = new StreamReader(fsFile);
//读取文件(读取大文件时,最好不要用此方法)
sLine = srReader.ReadToEnd();
txbValue.Text = sLine;
srReader.Close();
}
catch (Exception e)
{
throw e;
}
}
/// <summary>
/// StreamWriter读取方法2
/// </summary>
private void StreamReaderMetodTwo()
{
try
{
FileStream fsFile = new FileStream(@"d:\log.txt", FileMode.Open);
StreamReader srReader = new StreamReader(fsFile);
int iChar;
iChar = srReader.Read();
while (iChar != -1)
{
txbValue.Text += (Convert.ToChar(iChar));
iChar = srReader.Read();
}
srReader.Close();
}
catch (Exception e)
{
throw e;
}
}
注:FileMode枚举成员值在文件存在与不存在时的情况
Append
文件存在时:打开文件,流指向文件的末尾,只能与枚举FileAcess.Write联合使用
文件不存在时:创建一个新文件。只能与枚举FileAcess.Write联合使用
Create
文件存在时:删除该文件,然后创建新文件
文件不存在时:创建新文件
CreateNew
文件存在时:抛出异常
文件不存在时:创建新文件
Open
文件存在时:打开现有文件,流指向文件开头
文件不存在时:抛出异常
OpenOrCreate
文件存在时:打开文件,流指向文件开头
文件不存在时:创建新文件
Truhncate
文件存在时:打开现有文件,清除其内容。流指向文件开头,保留文件的初始创建日期。
文件不存在时:抛出异常
StreamWrite,StreamReader确实是要通过编码方式读取字节流,适合操作字符串,但不是只能处理文本文件,各种字节流都可以通过StreamWrite,StreamReader进行字符串操作。
FileStream顾名思义就知道是用来操作文件流的。
其实说到底只是微软包装过的,用来操作字节流的组件,很多的功能都是重复的,只是有的比较适合,用起来比较方便。你也可以自己写一些xxstream的。
c#中的文件操作:http://www.cnblogs.com/qinfei/archive/2005/11/03/268229.html 里面的内容很全
1、建立一个文本文件
public class FileClass
{
public static void Main()
{
WriteToFile();
}
static void WriteToFile()
{
StreamWriter SW;
SW=File.CreateText("c:\MyTextFile.txt");
SW.WriteLine("God is greatest of them all");
SW.WriteLine("This is second line");
SW.Close();
Console.WriteLine("File Created SucacessFully");
}
}
2、读文件
public class FileClass
{
public static void Main()
{
ReadFromFile("c:\MyTextFile.txt");
}
static void ReadFromFile(string filename)
{
StreamReader SR;
string S;
SR=File.OpenText(filename);
S=SR.ReadLine();
while(S!=null)
{
Console.WriteLine(S);
S=SR.ReadLine();
}
SR.Close();
}
}
3、追加操作
public class FileClass
{
public static void Main()
{
AppendToFile();
}
static void AppendToFile()
{
StreamWriter SW;
SW=File.AppendText("C:\MyTextFile.txt");
SW.WriteLine("This Line Is Appended");
SW.Close();
Console.WriteLine("Text Appended Successfully");
}
}