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类的三个属性表示。

    每天进步一点点;不为琐事困扰,每日岁月静好。
  • 相关阅读:
    HDU 1495 非常可乐
    ja
    Codeforces Good Bye 2016 E. New Year and Old Subsequence
    The 2019 Asia Nanchang First Round Online Programming Contest
    Educational Codeforces Round 72 (Rated for Div. 2)
    Codeforces Round #583 (Div. 1 + Div. 2, based on Olympiad of Metropolises)
    AtCoder Regular Contest 102
    AtCoder Regular Contest 103
    POJ1741 Tree(点分治)
    洛谷P2634 [国家集训队]聪聪可可(点分治)
  • 原文地址:https://www.cnblogs.com/Adaisme/p/7598270.html
Copyright © 2011-2022 走看看