c# 以二進(jìn)制讀取文本文件
更新時(shí)間:2009年07月03日 16:00:01 作者:
在當(dāng)前目錄創(chuàng)建一個(gè)文件myfile.txt,對(duì)該文件具有讀寫(xiě)權(quán)限
復(fù)制代碼 代碼如下:
using System;
using System.IO;
public class FileApp
{
public static void Main()
{
// 在當(dāng)前目錄創(chuàng)建一個(gè)文件myfile.txt,對(duì)該文件具有讀寫(xiě)權(quán)限
FileStream fsMyfile = new FileStream("myfile.txt" , FileMode.Create, FileAccess.ReadWrite);
// 創(chuàng)建一個(gè)數(shù)據(jù)流寫(xiě)入器,和打開(kāi)的文件關(guān)聯(lián)
StreamWriter swMyfile = new StreamWriter(fsMyfile);
// 以文本方式寫(xiě)一個(gè)文件
swMyfile.WriteLine("Hello, World");
swMyfile.WriteLine("abcdefghijklmnopqrstuvwxyz");
swMyfile.WriteLine("ABCDEFGHIJKLMNOPQRSTUVWXYZ");
swMyfile.WriteLine("0123456789");
// 沖刷數(shù)據(jù)(把數(shù)據(jù)真正寫(xiě)到文件中去)
// 注釋該句試試看,程序?qū)?bào)錯(cuò)
swMyfile.Flush();
// 以文本方式讀文件
// 創(chuàng)建一個(gè)數(shù)據(jù)流讀入器,和打開(kāi)的文件關(guān)聯(lián)
StreamReader srMyfile= new StreamReader(fsMyfile);
// 把文件指針重新定位到文件的開(kāi)始
srMyfile.BaseStream.Seek(0, SeekOrigin.Begin);
// 打印提示信息
Console.WriteLine("****************以文本方式讀文件*********************");
// 打印文件文本內(nèi)容
string s1;
while((s1 = srMyfile.ReadLine())!=null)
{
Console.WriteLine(s1);
}
Console.WriteLine();
// 以文本方式讀文件結(jié)束
// 以二進(jìn)制方式讀文件
// 創(chuàng)建一個(gè)二進(jìn)制數(shù)據(jù)流讀入器,和打開(kāi)的文件關(guān)聯(lián)
BinaryReader brMyfile= new BinaryReader (fsMyfile);
// 把文件指針重新定位到文件的開(kāi)始
brMyfile.BaseStream.Seek(0, SeekOrigin.Begin);
// 打印提示信息
Console.WriteLine("****************以二進(jìn)制方式讀文件*********************");
// 打印文件文本內(nèi)容
Byte b1;
while(brMyfile.PeekChar()>-1)
{
b1=brMyfile.ReadByte();
// 13為"\n",表示回車(chē);10為"\r",表示換行
if(b1 != 13 && b1 != 10)
{
Console.Write("{0}",b1.ToString());
Console.Write(".");
}
else
{
Console.WriteLine();
}
}
Console.WriteLine("\n");
// 以二進(jìn)制方式讀文件結(jié)束
// 關(guān)閉以上new的各個(gè)對(duì)象
brMyfile.Close();
srMyfile.Close();
fsMyfile.Close();
// 讀取文件屬性
// 打印提示信息
Console.WriteLine("****************讀取文件屬性*********************");
FileInfo fiMyfile=new FileInfo("myfile.txt");
Console.WriteLine("文件名 : {0}",fiMyfile.Name);
Console.WriteLine("文件名(含路徑) : {0}",fiMyfile.FullName);
Console.WriteLine("文件大小(bytes) : {0}",fiMyfile.Length);
Console.WriteLine("文件創(chuàng)建時(shí)間 : {0}",fiMyfile.CreationTime);
}
}
相關(guān)文章
c#利用webmail郵件系統(tǒng)發(fā)送郵件示例分享
在C#中發(fā)送郵件的方式有2種,一種是使用webmail方式進(jìn)行發(fā)送,另外一種就是采用netmail發(fā)送的方式,這篇文章介紹了c#使用webmail方式發(fā)送郵件示例,大家參考使用吧2014-01-01C# PDF Page操作設(shè)置頁(yè)面切換按鈕的方法
這篇文章主要介紹了C# PDF Page操作設(shè)置頁(yè)面切換按鈕的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2018-05-05C#使用CryptoStream類(lèi)加密和解密字符串的實(shí)現(xiàn)
CryptoStream設(shè)計(jì)用于在內(nèi)容以流的形式輸出到文件時(shí)加密和解密內(nèi)容,本文主要介紹了C#使用CryptoStream類(lèi)加密和解密字符串的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01Unity Shader實(shí)現(xiàn)黑幕過(guò)場(chǎng)效果
這篇文章主要為大家詳細(xì)介紹了Unity Shader實(shí)現(xiàn)黑幕過(guò)場(chǎng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07C#中神器類(lèi)BlockingCollection的實(shí)現(xiàn)詳解
如果你想玩轉(zhuǎn)C#?里面多線程,工廠模式,生產(chǎn)者/消費(fèi)者,隊(duì)列等高級(jí)操作,就可以和我一起探索這個(gè)強(qiáng)大的線程安全提供阻塞和限制功能的C#神器類(lèi)BlockingCollection吧2023-02-02C#實(shí)現(xiàn)斐波那契數(shù)列的幾種方法整理
這篇文章主要介紹了C#實(shí)現(xiàn)斐波那契數(shù)列的幾種方法整理,主要介紹了遞歸,循環(huán),公式和矩陣法等,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-09-09