zoukankan      html  css  js  c++  java
  • C#中的文件操作2

    1.  读取文件的方法:

      1.  声明一个文件流: 目的是为了内存与文件之间的桥梁,可以进行数据的往来。

      FileStream fs = new FileStream(filename,FileMode.Open,FileAccess.Read,FileShare.None);

      4个参数的意义   文件名 、 打开文件的方式 、 对文件进行什么样的操作 、 是否允许其他进程共享(值为FileShare.None的时候,谢绝共享) 。注意,第2个参数要与第3个参数配对, 例如 Open 对应 Read , Create 对于 Write

      2.  创建读取器: 用于操作文件流,来达到读取文件的目的。

      StreamReader sr = new StreamReader(fs,Encoding.Default);

       3.  读取文件操作: 用于EndOfStream 指示是否读到流的末尾

        ReadToEnd()  一次读取文件中所有的内容

        ReadLine()     分行读取

                    //str = sr.ReadToEnd(); 一次读取到底
                    //一行一行读取
                    while(sr.EndOfStream == false)
                    {
                        string line = sr.ReadLine();
                        str += (line + "
    ");
                    }

       4.  关闭读取器:

        sr.Close();

       5.  释放所操作的文件流对象

        fs.Close();

    2.  写入文件的方法:

      1.  声明一个文件流:目的是为了内存与文件之间的桥梁,可以进行数据的往来。做法与读取文件时相似。

      FileStream fs = new FileStream(myFilePath, FileMode.Create);

       2.  创建写入器:用于操作文件流,来达到写入文件的目的。

      StreamWriter sw = new StreamWriter(fs,Encoding.Default);

       3.  写入文件操作: 一般采用 Write() 方法

      sw.Write(str);

         4.  关闭写入器:

      sw.Close();

         5.  释放所操作的文件流对象

      fs.Close();

    3.  为什么要关闭读写器、文件流

      为什么要关闭文件流后,文件才会全部写入?如果写人文件后,不关闭写入器,文件中会出现没有数据或者数据不全的情况。

         1.写入器先将数据写入到文件流所指向的内存中(也就是一个缓冲区),只有当这块内存被写满的时候,才会把内存中的数据写入到磁盘上,也就是将数据写入到文件里面。

         2.当我们关闭文件读写器的时候,缓冲区中剩下的数据就会被写入到文件中。如果之前读取到的数据没有把缓冲区写满,则文件中没有数据;反之文件中的数据不全。

         3.对文件进行操作后,一定要关闭读写器、文件流,因为这些读写器、文件流占用了系统资源。

    4.  注意

      1.  当我们打开一个文件,如果出现英文正常,汉字为乱码,首先要考虑的是编码问题。

           读取文件时采用的编码和写入文件的时候采用的编码要一致。

       2.  当我们在声明文件流、读写器的时候,可以先写好关闭文件流、读写器的操作。因为有可能,对文件的操作比较复杂,当我们完成操作后,会忘记关闭文件流、读写器。

       3.  获取当前应用程序所在的文件路径:  Application.StartupPath

    5.  几种与文件有关的对话框 

    1.  提示用户打开文件的对话框  OpenFileDialog  

       常用属性:

         Multiselect  bool类型,是否可以在对话框中选中多个文件。

         InitialDirectory  对话框打开时显示的初始目录。

         SafeFileName  对话框中所选文件的文件名和扩展名。 文件名不包含路径。

           Filter  获取或设置当前文件名筛选器字符串,该字符串决定对话框的“另存为文件类型”或“文件类型”框中出现的选择内容。   例如, “可执行程序|*.exe|word文档|*.doc” ;

         FileName  获取或设置一个包含在文件对话框中选定的文件名的字符串。

    2.  提示用户保存文件的对话框  SaveFileDialog

       常用属性:  与OpenFileDialog相同

    3.  提示用户选择文件夹的对话框  FolderBrowserDialog

         常用属性:  

          Description  获取或设置对话框中在树视图控件上显示的说明文本。

           SelectedPath  获取或设置用户选定的路径。

  • 相关阅读:
    [图解]在输入框和文本框中获取和设置光标位置,以及选中文本和获取选中文本值的方法 --- 详解,兼容所有浏览器。
    关于鼠标事件的screenY,pageY,clientY,layerY,offsetY属性 (详细图解)
    get新技能: 如何设置元素高度与宽度成特定比例。宽度改变,高度自动按比例改变。 例如设置宽高比16:9。
    jQuery源码 Ajax模块分析
    jQuery 1.9 Ajax代码带注释
    html5 自定义数据属性 ,也就是 data-* 自定义属性---笔记。
    client/scroll/offset width/height/top/left ---记第一篇博客
    JSON对象长度和遍历方法
    如何组织css,写出高质量的css代码
    css中文本框与按钮对不齐解决方案
  • 原文地址:https://www.cnblogs.com/lcxBlog/p/4508264.html
Copyright © 2011-2022 走看看