zoukankan      html  css  js  c++  java
  • C#学习2017-9-26Notes8(文件和流,FileStream类)

    1. 文件和流

    对于计算机而言,文件往往保存在磁盘之类的外部设备,对文件的操作常常涉及相关文件夹的操作,操作文件和操作文件夹程序是冯文文件的两个方面。

    所谓“文件”是指按一定的结构形式存储在外部设备上的相关数据集合。

    (1)文件有很多类型的标准,按照文件的访问方式可将文件分为顺序文件和随机文件的两种。

    ①  顺序文件,顺序存储的文件成为顺序文件,顺序文件没有内部逻辑结构。

    ②  随机文件:随机存取的文件成为随机文件,它以记录格式保存数据,文件由多个记录组成,每个记录都有相同的大小和格式;只要给出记录号,就可以迅速地找到指定的记录进行读写操作。

    (2)按照文件的存储方式,可将文件纷纷为二进制文件和ASCII码文件

    ①二进制文件:数据以二进制方式存储,存储的基本单位为字节;二进制文件能够度邪恶所需要的字节,可以节省存储空间的避免编码转换。

    ③  ASCLL码文件中的数据已字符形式表示,因而便于垵字符形式逐个处理,也便于打印输出字符

    (3).NET流(Stream)

    对文件的访问可以借助文件流来实现,对文件读写时,将文件处理成字符流或二进制流,对文件的读写就是读取文件字符流或二进制流

    在.NET框架中,对文件的读写操作借助于I/O数据的通用模型System.IO.对所有数据源使用相同的代码操作。

    System.IO模型中的资源命名空间System.IO提供。

    (4)C#中用于文件   eInfo

     

    、例如:

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    using System.IO;

     

    namespace ConsoleApplication1

    {

        class Program

        {

            static void Main(string[] args)

            {

                string path=@"F:My.text";

                if (!File .Exists (path))

                {

                    string content="Hello";

                    File .WriteAllText (path ,content);

                }

                string appendText="This is extra text";

                File .WriteAllText (path ,appendText);

                string readText=File.ReadAllText(path);

                Console.WriteLine(readText );

                Console.Read();

            }

        }

    }

    2.FileStream类

    用于实现文件读写的类都是Stream和Reader/Writer的的派生类,如FileStream类,StreamReader类,StreamWriter类,BinaryReader类和BinaryWriter类等。

    FileStream还可以指定读写操作是同步还是异步。

     

    使用FileStream类读写文件把所有数据都看作字节流,需要将数据先转换成字节。

    FileStream对象支持使用Seek方法对文件进行随机访问。

    Seek允许将读取/写入位置移动到文件中的任意位置。这是通过字节偏移参考点参数完成的。

    字节偏移量是相对于查找参考点而言的,该参考点可以是基础文件的开始,当前位置或结尾,分别由SeekOrigin类的三个属性表示。

    每天进步一点点;不为琐事困扰,每日岁月静好。
  • 相关阅读:
    【马克-to-win】学习笔记—— 第五章 异常Exception
    【马克-to-win】—— 学习笔记
    Eclipse 日文乱码怎么解决Shift_JIS
    DB2设置code page(日文943)
    如何得到一个接口所有的实现类(及子接口)?例如:Eclipse IDE
    【VBA】随机数
    【VBA】利用Range声明Array(一维/二维)
    【VBA】Do While……Loop循环,遍历某列
    【58沈剑架构系列】DB主从一致性架构优化4种方法
    【58沈剑架构系列】主从DB与cache一致性
  • 原文地址:https://www.cnblogs.com/Adaisme/p/7598270.html
Copyright © 2011-2022 走看看