c# 流的概念及操作文字檔執行個體代碼

來源:互聯網
上載者:User
作者:佚名  來源:中國自學編程網收集整理   發布日期:2008-12-08  
//注意:
//在電腦編程中,流就是一個類的對象,很多檔案的輸入輸出操作都以類的成員函數的方式來提供。
//
電腦中的流其實是一種資訊的轉換。它是一種有序流,因此相對於某一對象,通常我們把對象接收外界的資訊輸入(Input)稱為輸入資料流,相應地從對象向外
輸出(Output)資訊為輸出資料流,合稱為輸入/輸出流(I/O
Streams)。對象間進行資訊或者資料的交換時總是先將對象或資料轉換為某種形式的流,再通過流的傳輸,到達目的對象後再將流轉換為對象資料。所以,
可以把流看作是一種資料的載體,通過它可以實現資料交換和傳輸。
//程式中流的概念和作業系統中流的概念是不一樣的,作業系統中的流可以看成是資料流,而程式中的流的概念其實是一個用來處理流的類。
//流就是在記憶體中操作資料的一種方式
//.net中有多種多樣的流類型
//C#裡有很多封裝類不一定都要用流

測試代碼:

using System;
using System.Collections.Generic;
using System.Text;

namespace FileAndFileInfo
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("輸入已存目錄");
string sBaseDir = Console.ReadLine();
FileAndFileInfo.ListFile(sBaseDir);
Console.WriteLine("輸入建立目錄");
string sNewFile = Console.ReadLine();
FileAndFileInfo.CreatFile(sNewFile);
//讀取目錄中文字檔內容
FileAndFileInfo.ReadFlie(sNewFile);
//刪除指定目錄
//FileAndFileInfo.DelectFile(sNewFile);
}
}
}

類代碼:

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace FileAndFileInfo
{
class FileAndFileInfo
{
//列出目錄中的檔案
public static void ListFile(string sDir)
{
if (Directory.Exists(sDir))
{
//使用一個絕對路徑初始化一個表示目錄的對象
DirectoryInfo di = new DirectoryInfo(sDir);
//遍曆目錄(不包括子目錄)下面的檔案,注意不包括子目錄,這點很重要,暨子檔案夾不顯示
Console.WriteLine("檔案建立時間/t/t檔案名稱/t/t/t檔案大小");
//foreach (FileInfo file in di.GetFiles)//foreach 語句無法在“方法組”上執行。您是要調用“方法組”嗎?
foreach (FileInfo file in di.GetFiles())
Console.WriteLine(string.Format("{0}/t{1}/t/t{2}", file.CreationTime, file.Name, file.Length));
}
else
Console.WriteLine("檔案{0}不存在。",sDir);
}
//建立文字檔,注意是文字檔而不是檔案夾
public static void CreatFile(string sFile)
{
//擷取一個檔案流對象,用於讀寫檔案
FileStream fs = File.Create(sFile);//此處,在相關目錄下建立了指定名稱的文字檔
//擷取一個指向檔案的流編輯器
StreamWriter sw = new StreamWriter(fs);//此處,建立了操作文字檔的字元流的對象
//寫入文本
Console.WriteLine("輸入常值內容");
string str = Console.ReadLine();
sw.WriteLine(str);//將輸入的常值內容寫入先前建立的文字檔
//關閉對象,釋放資源
sw.Close();
fs.Close();
Console.WriteLine(string.Format("建立文字檔>>{0}",sFile));
}
//讀取文字檔
public static void ReadFlie(string sFile)
{
string str = "";
StreamReader sr = new StreamReader(sFile);
str=sr.ReadToEnd();//此處,建立了操作文字檔的字元流的對象
sr.Close();
Console.WriteLine(string.Format("讀取文字檔>>{0}",str));
}
//刪除檔案
public static void DelectFile(string sFile)
{
File.Delete(sFile);
Console.WriteLine(string.Format("刪除檔案>>{0}",sFile));
}
}
}

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.