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

 更新时间:2009年07月03日 16:00:01   作者:  
在当前目录创建一个文件myfile.txt,对该文件具有读写权限
复制代码 代码如下:

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

相关文章

  • Unity实现旋转扭曲图像特效

    Unity实现旋转扭曲图像特效

    这篇文章主要为大家详细介绍了Unity实现旋转扭曲图像特效,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • 详细聊聊C#的并发机制优秀在哪

    详细聊聊C#的并发机制优秀在哪

    并发其实是一个很泛的概念,字面意思就是"同时做多件事",不过方式有所不同,下面这篇文章主要给大家介绍了关于C#并发机制的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-02-02
  • 学习Winform文本类控件(Label、Button、TextBox)

    学习Winform文本类控件(Label、Button、TextBox)

    这篇文章主要和大家一起学习Winform文本类控件,包含标签控件(Label),按钮控件(Button),文本框控件(TextBox)和格式文本控件(RichTextBox),感兴趣的小伙伴们可以参考一下
    2016-05-05
  • C# 多窗口委托通信的实现

    C# 多窗口委托通信的实现

    本文主要介绍了C# 多窗口委托通信的实现,窗口之间通信无非有两个方向,主窗口发送数据到副窗口,副窗口发送数据到主窗口,感兴趣的可以了解一下
    2022-03-03
  • C#装饰器模式(Decorator Pattern)实例教程

    C#装饰器模式(Decorator Pattern)实例教程

    这篇文章主要介绍了C#装饰器模式(Decorator Pattern),以一个完整实例形式讲述了C#装饰器模式的实现过程,有助于深入理解C#程序设计思想,需要的朋友可以参考下
    2014-09-09
  • asp.net(C#)清除全部Session与单个Session的方法

    asp.net(C#)清除全部Session与单个Session的方法

    下面小编就为大家带来一篇asp.net(C#)清除全部Session与单个Session的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • C#中GDI+绘制圆弧及圆角矩形等比缩放的绘制

    C#中GDI+绘制圆弧及圆角矩形等比缩放的绘制

    这篇文章主要介绍了C#中GDI+绘制圆弧及圆角矩形等比缩放的绘制,文章围绕主题展开详细的内容戒杀,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • C# 3DES加密详解

    C# 3DES加密详解

    3Des对每个数据块进行了三次的DES加密算法,是DES的一个更安全的变形。比起最初的DES,3DES更为安全。下面我们来看下在C#中的3DES加密方式的使用
    2015-06-06
  • C#操作文件和注册表的示例详解

    C#操作文件和注册表的示例详解

    这篇文章主要为大家详细介绍了C#中操作文件和注册表的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考下
    2024-03-03
  • C#实现简易多人聊天室

    C#实现简易多人聊天室

    这篇文章主要为大家详细介绍了C#实现简易多人聊天室,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02

最新评论