Address: http://www.cnblogs.com/scottckt/archive/2008/07/01/1233523.html
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;
}
}
/// 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;
}
}
/// 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);
/*
* 讀取數據最簡單的方法是Read()。此方法將流的下一個字符作為正整數值返回,
* 如果達到了流的結尾處,則返回-1。
*/
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;
}
}
/// StreamWriter讀取方法2
/// </summary>
private void StreamReaderMetodTwo()
{
try
{
FileStream fsFile = new FileStream( @" d:/log.txt " , FileMode.Open);
/*
* 讀取數據最簡單的方法是Read()。此方法將流的下一個字符作為正整數值返回,
* 如果達到了流的結尾處,則返回-1。
*/
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 | 打開現有文件,清除其內容。流指向文件開頭,保留文件的初始創建日期。 | 拋出異常 |