c# FileStream和StreamWriter用法

转载 2008年09月28日 10:48:00
FielStream類操作的是字節和節節數組,而stream類操作的是字符數據。字符數據易於使用,但是有些操作,比如隨機文件訪問(訪問文件中間某點的數據),就必須由FileStream對象執行。
             FielStream類維護內部文件指針,該指針指向文件中進行下一次讀寫操作的位置。
             FileStream只能處理原始字節(raw byte),處理原去吧字節的功能使用FileStream類可以用於處理任何數據文件。
             通過讀取字節數據,FileStream對像可以用於讀取圖像和聲音。代價是FileStream類不能將數據直接讀入字符串
             此指針可以修改用Seek方法,它有兩個參數:
             第一個參數:規定文件指針以字節為參數的移動距離
             第二個參數:規定開始計算的起始位置

        byte[] byDataValue = new byte[200];
        
char[] charDataValue = new char[200];

        
/// <summary>
        
/// FilesStream讀取用法
        
/// </summary>
        private void FilesStreamReadFile()
        {
            
try
            {
                FileStream fsFile 
= new FileStream(@"d:/log.cs", FileMode.Open);
                
//文件指針移到文件的135個字節
                fsFile.Seek(135, SeekOrigin.Begin);
                
//將接下來的字節讀到Array中
                fsFile.Read(byDataValue, 0200);
            }
            
catch (Exception e)
            {
                
throw e;
            }
            
//將字節轉換成字符
            Decoder dc = Encoding.UTF8.GetDecoder();
            
//字節數組轉換成字符數組,便於顯示
            dc.GetChars(byDataValue, 0, byDataValue.Length, charDataValue, 0);

        }

        /// <summary>
        
/// FilesStream寫入用法
        
/// </summary>
        private void FileStreamWriteFile()
        {
            FileStream fsFile 
= new FileStream(@"D:/log.txt", FileMode.Create);
            charDataValue
="This is test string".ToCharArray();
            byDataValue
=new byte[charDataValue.Length];

            
//將字符數組轉換成字節數組
            Encoder ec=Encoding.UTF8.GetEncoder();
            ec.GetBytes(charDataValue,
0,charDataValue.Length,byDataValue,0,true);

            
//將指針設定起始位置
            fsFile.Seek(0,SeekOrigin.Begin);
            
//寫入文件
            fsFile.Write(byDataValue,0,byDataValue.Length);
        }

    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);

                
/*
                 * 讀取數據最簡單的方法是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;
            }
        }

c#filestream与streamwriter用法

FileStream常用的函数 filestream fs=new filestream(filename,filemode.member,fileaccess,member) filemoded...
  • laoniu541292552
  • laoniu541292552
  • 2012年10月15日 11:07
  • 9784

C#学习笔记——StreamWriter、StreamReader和FileStream区别

本文主要讲解一下在文件的读取中,StreamWriter、StreamReader和FileStream分别有什么样的不同,废话少说,直接进入主题。 一、StreamReader类的介绍  构造函...
  • u014086857
  • u014086857
  • 2016年11月19日 23:57
  • 8130

C# StreamReader/StreamWriter与FileStream用法详解

一、StreamReader类共有10个构造函数 StreamReader (Stream)    //  为指定的流初始化 StreamReader 类的新实例。 [cs...
  • songyi160
  • songyi160
  • 2016年06月17日 17:22
  • 1417

C#文件与流(FileStream、StreamWriter 、StreamReader 、File、FileInfo、Directory、DirectoryInfo、Path、Encoding)

文件与流(FileStream、StreamWriter 、StreamReader 、File、FileInfo、Directory、DirectoryInfo、Path、Encoding) 10...
  • luoyanqing119
  • luoyanqing119
  • 2014年02月26日 09:27
  • 1652

FileStream和StreamReader,StreamWrite,BinaryWriter

FileStream对象 FileStream对象表示在磁盘或网络路径上指向文件的流。当类提供向文件读写字节的方法时,经常使用StreamReader或StreamWriter执行这些功能。这是因为F...
  • u010792238
  • u010792238
  • 2015年01月18日 14:47
  • 1152

C#、filestream、streamwriter,html方式生成excel

1、切换单元格:/t        换行:/n        这种方法无法处理输出数据中带有/t/n的字符串,也无法处理单元格内换行        至于合并单元格、居中、设置背景颜色、设置字体等,暂时...
  • drshing
  • drshing
  • 2016年07月15日 15:40
  • 1099

c#基础入门(5)——File、FileStream、StreamReader、StreamWriter

FileFile的用法如下:public void OperateFile() { //example文件初始内容截图如图一 string filePath = @"e:\Study\te...
  • xiaouncle
  • xiaouncle
  • 2016年07月29日 00:05
  • 695

FileStream读写文件【StreamWriter 和 StreamReader】

 FileStream对象表示在磁盘或网络路径上指向文件的流。这个类提供了在文件中读写字节的方法,但经常使用StreamReader或StreamWriter执行这些功能。这是因为FileStream...
  • jiangxinyu
  • jiangxinyu
  • 2008年09月04日 10:25
  • 4394

c# FileStream和StreamWriter用法

FileStream對象通常會在StreamWriter或StreamReader內使用,並使用它們的方法處理文件。 /// /// StreamWriter寫入...
  • vagabond1
  • vagabond1
  • 2011年03月18日 23:33
  • 736

C# FileStream和StreamWriter用法

FielStream类操作的是字节和字节数组,而stream类操作的是字符数据。字符数据易于使用,但是有些操作,比如随机文件访问(访问文件中间某点的数据),就必须由FileStream对象执行。 ...
  • u011047160
  • u011047160
  • 2014年01月13日 13:53
  • 1063
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c# FileStream和StreamWriter用法
举报原因:
原因补充:

(最多只允许输入30个字)