File类和Directory类

FileInfo类

需要提供一个文件路径来创建一个FileInfo类实例对象,FileInfo提供很多类似File的方法,在选择使用File还是FileInfo时应遵循下面的规则:

1、如果要对某个文件只进行一次复制操作,则可以使用File的静态方法,因为不必创建对象再调用方法,所以会快一些。

2、如果对某个文件进行很多次操作(如:复制、移动、重命名等),那么使用FileInfo会快一些,因为对象在开始就确定了某个文件,不像File一样每次都要去寻找文件

FileInfo、File、Directory通用属性

DirectoryInfo类

类似于FileInfo类。DirectoryInfo类的属性与FileInfo类一样,只是这些属性用于目录

DirectoryInfo类的专用属性

使用FileStream对象读取和写入

一:创建对象
FileStream表示在磁盘上指向文件的流,该类操作的是字节或字节数组,该类可以从指定位置开始读取

Stream类操作的字符数据,比起FileStream来更易于使用

创建FileStream对象的方式多种多样,

1、通过构造函数可以创建

FileStream中FileMode的属性:

2、File和FileInfo都提供了OpenRead()和OpenWrite()方法,更易于创建FileStream对象

二:文件指针

使用seek方法可以从文件的任何地方读取文件,当处理大型文件时非常省时

三:读取数据

使用FileStream类读取数据不像使用StreamReader类读取数据那样容易。因为FileStream类只能处理原始字节,所以不嗯呢该直接读入字符串,而StreamReader可以直接读入字符串,但是FileStream可以用于读取任何数据文件。

FileStream.Read(byte[] array,int index,int count);

第一个参数:用于接收FileStream对象数据的数组

第二个参数:字节数组中开始写入数据的位置

第三个参数:指定从文件中读取多少个字节

四:将字节数组转换为字符串:

Encoding.UTF8.GetDecoder().GetChars方法,参数不做介绍了F12可以查看到

写入数据

跟读入数据很类似

StreamWriter对象

StreamWriter类允许将字符串写入到文件中,向FileStream对象写入数据

一:创建StreamWriter对象

方法一:

FileStream fileStream = new FileStream(@"log.txt",FileMode.CreateNew);

StreamWriter sw= new StreamWriter(fileStream);

方法二:

StreamWriter sw = new StreamWriter("log.txt",true); // 第二个参数规定是否追加文件,false如果文件存在则改写该文件,否则创建一个新文件,true:如果文件存在,保留文件内容并向后追加,否则创建一个新文件,

示例:

StreamReader对象

用于从外部数据源中读取数据,使用方法同StreamWriter

示例:

使用ReadLine()读取文本,这个方法读取回车符之前的文本,当达到文本末尾时返回null。

StreamReader有多个读取文本的方法,

Read()

此方法将字符作为正整数值返回,如果达到了流的结尾处,返回-1.上面的实例中可以这样编写:

对于小文件,可以用ReadToEnd

c#之文件操作(学习笔记)的更多相关文章

  1. MySQL4.0命令操作学习笔记

    声明:下列内容并非原创,仅仅是最近学习笔记整理. -------------------------------------- 进入mysql安装路径bin目录下: 1.开启服务 winmysqlad ...

  2. python的文件处理学习笔记

    python的文件处理函数是open() 以下主要是关于这个函数的一些学习笔记 1.文件处理离不开编码 要注意的是文件打开时的编码和文件保存时的编码的统一,这样才能保证你打开的文件不会存在乱码 总结: ...

  3. C# IO流与文件读写学习笔记

    本笔记摘抄自:https://www.cnblogs.com/liyangLife/p/4797583.html,记录一下学习过程以备后续查用. 一.文件系统 1.1文件系统类的介绍 文件操作类大都在 ...

  4. Linux文件操作学习总结【转载】

    本文转载自: http://blog.csdn.net/xiaoweibeibei/article/details/6556951 文件类型:普通文件(文本文件,二进制文件).目录文件.链接文件.设备 ...

  5. Linux用户、用户组、文件权限学习笔记

    最近打算更仔细学习一下linux操作系统.先是恶补了一下用户.用户组.文件权限这三样比较重要的知识.学习这几样东西,得先掌握linux的权限系统相关知识.linux的权限系统主要是由用户.用户组和权限 ...

  6. Git操作学习笔记

    根据廖雪峰老师git教程学习整理 这里需要辨析一下概念.Github是代码托管平台,是协作的工具;而Git是版本控制工具.Git不需要联网,在本机就可以使用 集中式版本控制系统与分布式版本控制系统 S ...

  7. 侠说java8--Stream流操作学习笔记,都在这里了

    前言 首次接触到Stream的时候以为它是和InputStream.OutputStream这样的输入输出流的统称. 流和集合的前世今生 概念的差异 在开发中,我们使用最多的类库之一就是集合.集合是一 ...

  8. File文件操作学习总结

    1.java.io.file用于表示文件(目录),也就是说程序员可以通过File类在程序中操作硬盘上的文件和目录, 2.File类只能用于表示文件(目录)的信息(名称和大小),不能对文件内容进行访问. ...

  9. Linux文件类型(学习笔记六)

    一.Linux下的文件类型 普通文件:在由 ls –al 所显示出来的属性方面,第一个属性为 [ - ] 目录文件:在由 ls –al 所显示出来的属性方面,第一个属性为 [ d ] 设备文件:一般都 ...

  10. jQuery HTML操作学习笔记

    学习资料 jQuery教程 获取 1.获取.设置元素的内容 1.1获取或设置目标元素的文本内容 语法 $(selector).text(); 获取元素文本内容 $(selector).text(con ...

随机推荐

  1. 【CSS】 CSS基础知识 属性和选择

    css基础知识 html的基本标签都是千篇一律的,为了能够个性化外观,就需要进行样式的调整,而css就是专门用来维护,管理样式的一种格式.在html中定义css有三种方法 1. 为标签添加style属 ...

  2. python(字符串操作)

    一.字符串的局部替换 python 字符串替换可以用2种方法实现:1是用字符串本身的方法.2用正则来替换字符串 下面用个例子来实验下:a = 'hello word'我把a字符串里的word替换为py ...

  3. SSH三大框架的整合

    SSH三个框架的知识点 一.Hibernate框架 1. Hibernate的核心配置文件 1.1 数据库信息.连接池配置 1.2 Hibernate信息 1.3 映射配置 1.4 Hibernate ...

  4. 对Java的初步的认识:

    学习JAVA的优势 1) Java广受欢迎 Java是世界上最受欢迎的编程语言之一,有无限多种方法使用Java.据2016年数据显示,Java被评为最受欢迎的编程语言之一2)  Java薪资比较好最新 ...

  5. C作业--数据类型

    一.PTA实验作业 题目1:7-3 倒顺数字串 1. 本题PTA提交列表 2. 设计思路(伪代码) (1)本题是要求输入倒顺序数串,首先看到这种题肯定是需要用到循环,那就先定一个整形i来进行循环,n是 ...

  6. 项目Alpha冲刺Day5

    一.会议照片 二.项目进展 1.今日安排 熟悉后台框架并尝试编写及继续搭建前台框架模版.完成登录相关的功能实现,添加一些用户相关的单元测试代码,以及相应的测试数据. 2.问题困难 前端不是很熟,页面框 ...

  7. Linux进程调度分析

    原文:http://www.2cto.com/os/201112/113229.html 操作系统要实现多进程,进程调度必不可少. 有人说,进程调度是操作系统中最为重要的一个部分.我觉得这种说法说得太 ...

  8. 为SRS流媒体服务器添加HLS加密功能(附源码)

    为SRS流媒体服务器添加HLS加密功能(附源码) 之前测试使用过nginx的HLS加密功能,会使用到一个叫做nginx-rtmp-module的插件,但此插件很久不更新了,网上搜索到一个中国制造的叫做 ...

  9. php函数var_dump() 、print_r()、echo()

    var_dump() 能打印出类型 print_r() 只能打出值 echo() 是正常输出... 需要精确调试的时候用 var_dump(); 一般查看的时候用 print_r() 另外 , ech ...

  10. webapi 使用Autofac 开发经历

    2018/4/6 号 早上五点..被手机震动吵醒. 之后直接打开电脑,打算再加强下我自己的webapi这套东西. 虽然三年的工作经验接触了N多框架和各种风格的开发方式,但是让我自己来搞一套实在不会搞, ...