欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

c# 以二进制读取文本文件

程序员文章站 2022-10-14 21:37:04
复制代码 代码如下:using system; using system.io; public class fileapp {    &nbs...
复制代码 代码如下:

using system;
using system.io;

public class fileapp
{
    public static void main()
    {
        // 在当前目录创建一个文件myfile.txt,对该文件具有读写权限
        filestream fsmyfile = new filestream("myfile.txt" , filemode.create, fileaccess.readwrite);

        // 创建一个数据流写入器,和打开的文件关联
        streamwriter swmyfile = new streamwriter(fsmyfile);

        // 以文本方式写一个文件
        swmyfile.writeline("hello, world");
        swmyfile.writeline("abcdefghijklmnopqrstuvwxyz");
        swmyfile.writeline("abcdefghijklmnopqrstuvwxyz");
        swmyfile.writeline("0123456789");

        // 冲刷数据(把数据真正写到文件中去)
        // 注释该句试试看,程序将报错
        swmyfile.flush();

        // 以文本方式读文件
        // 创建一个数据流读入器,和打开的文件关联
        streamreader srmyfile= new streamreader(fsmyfile);

        // 把文件指针重新定位到文件的开始
        srmyfile.basestream.seek(0, seekorigin.begin);

        // 打印提示信息
        console.writeline("****************以文本方式读文件*********************");

        // 打印文件文本内容
        string s1;
        while((s1 = srmyfile.readline())!=null)
        {
            console.writeline(s1);
        }
        console.writeline();
        // 以文本方式读文件结束


        // 以二进制方式读文件
        // 创建一个二进制数据流读入器,和打开的文件关联
        binaryreader brmyfile= new binaryreader (fsmyfile);

        // 把文件指针重新定位到文件的开始
        brmyfile.basestream.seek(0, seekorigin.begin);

        // 打印提示信息
        console.writeline("****************以二进制方式读文件*********************");

        // 打印文件文本内容
        byte b1;
        while(brmyfile.peekchar()>-1)
        {
            b1=brmyfile.readbyte();
            // 13为"\n",表示回车;10为"\r",表示换行
            if(b1 != 13 && b1 != 10)
            {
                console.write("{0}",b1.tostring());
                console.write(".");
            }
            else
            {
                console.writeline();
            }
        }
        console.writeline("\n");
        // 以二进制方式读文件结束

        // 关闭以上new的各个对象
        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("文件创建时间 : {0}",fimyfile.creationtime);
    }
}