1. 读写文件的步骤:

创建一个文件流 -- 创建相应的读写器 -- 执行读写操作 -- 关闭读写器 -- 关闭文件流

创建一个文件流:   FileStream objfs = new FileStream(文件的路径 , 文件打开模式);

文件的打开模式: FileMode 是一个枚举值,此处略去

创建文件的同事也可以设置权限

创建读写器:  StreamReader objsr = new StreamReader(objfs, Encoding.UTF8);

StreamWriter objsw = new StreamWriter(objfs, Encoding.UTF8);

Enoding 是为了解决乱码问题

读写操作: 读: objsr.ReadToEnd();

写:objsw.Write(content);

关闭读写器:  objsr.Close();

objsw.Close();

关闭文件流:  objfs.Close();

 

2. File类

提供操作文件的各种方法。

方法

说明

bool  Exists(string path)

用于检查指定文件是否存在,该方法返回一个布尔值

void  Copy(string 

    sourceFileName,
    string destFileName)

将指定路径的源文件中的内容复制到目标文件中,如果目标文件不存在,则在指定路径中新建一个文件

void  Move (string

   
sourceFileName,
    string destFileName)

将指定文件移动到一个新的路径

void 
Delete(string path)

删除指定的文件,如果指定的文件不存在,则不引发异常

3.  Directory
类提供对文件夹的移动、删除等操作

方法

说明

bool 
Exists(string path)

用于检查指定文件夹在磁盘上是否存在

void 
Move(string

   
sourceDirName,

   
string destDirName)

用于将文件或目录及其内容移到新位置

void  Delete(string path,

   
bool recursive)

删除指定目录,如果bool指定true,则删除子目录中的所有目录内容

void 
Delete(string path)

从指定路径删除空目录

3.  FileInfo类

由于File类的静态方法在使用时都会进行安全检查,所以如果想要多次使用某个文件对象,可以考虑使用FileInfo类相应的实例方法,因为并不总是需要安全检查

属性/方法

说明

Exists

用于检查指定文件是否存在,返回一个布尔值

Extension

获取表示文件扩展名部分的字符串

Name

获取文件名

FullName

获取目录或文件的完整目录

FileInfo  CopyTo(string)

将现有文件复制到新文件,不允许覆盖现有文件

void  Delete()

永久删除文件

void 
MoveTo(string)

将指定文件移到新位置

4. DirectoryInfo类

如果打算多次重用某个目录对象,可以考虑使用DirectoryInfo类的实例方法

方法

说明

DirectoryInfo[ ]  GetDirectories()

返回当前目录的子目录对象数组

FileInfo[ ]  GetFiles()

返回当前目录下文件列表(FileInfo对象数组)

备注:文件(file)与流(stream)

文件,是在各种媒介上永久存储的数据的有序集合,它是一种进行数据读写操作的基本对象。

流,从概念上讲,非常类似于单独的磁盘文件,它也是进行数据读取操作的基本对象,流为我们提供了连续的字节流存储空间。

File类,是一个静态类,主要是来提供一些函数库用的。

静态实用类,提供了很多静态的方法,支持对文件的基本操作,包括创建,拷贝,移动,删除和打开一个文件。

C# 文件读取(一)的更多相关文章

  1. java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...

  2. php xml 文件读取 XMLReader

    php xml 文件读取 <?php /** $xmlString = '<xml> <persons count="10"> <person ...

  3. 1-2 nodejs小节 文件读取

    1.表达式 在命令行输入  node回车后,可以在后边输入相应的表达式,进行运算操作   2.阻塞文件读取 var data=fs.readFileSync('input.txt', 'utf-8') ...

  4. 详解Js中文件读取机制

    前言,文件读取是提高应用体验度的必须接口,应用场景中需求很频繁. Js处理文件读取,由于处于安全方面的考虑,在2000年以前,都是以“<input type="file"&g ...

  5. C# 文件操作 把文件读取到字节数组

    string zipfile = "c:\\a.zip"; //方法1 FileStream fs = new FileStream(zipfile, FileMode.Open) ...

  6. H5学习系列之文件读取API--本文转自http://blog.csdn.net/jackfrued/article/details/8967667

    HTML5定义了FileReader作为文件API的重要成员用于读取文件,根据W3C的定义,FileReader接口提供了读取文件的方法和包含读取结果的事件模型. FileReader的使用方式非常简 ...

  7. 应用服务器Glassfish任意文件读取漏洞

    catalogue . 前言和技术背景 . Glassfish安装配置 . 漏洞利用 . 漏洞缓解(修复) 1. 前言和技术背景 0x1: GlassFish是什么 GlassFish 是用于构建 J ...

  8. golang 文件读取

    Golang 的文件读取方法很多,刚上手时不知道怎么选择,所以贴在此处便后速查. 一次性读取 小文件推荐一次性读取,这样程序更简单,而且速度最快. 复制代码 代码如下: func ReadAll(fi ...

  9. Python编码/文件读取/多线程

    Python编码/文件读取/多线程 个人笔记~~记录才有成长   编码/文件读取/多线程 编码 常用的一般是gbk.utf-8,而在python中字符串一般是用Unicode来操作,这样才能按照单个字 ...

  10. [Python] 中文编码问题:raw_input输入、文件读取、变量比较等str、unicode、utf-8转换问题

    最近研究搜索引擎.知识图谱和Python爬虫比较多,中文乱码问题再次浮现于眼前.虽然市面上讲述中文编码问题的文章数不胜数,同时以前我也讲述过PHP处理数据库服务器中文乱码问题,但是此处还是准备简单做下 ...

随机推荐

  1. margin负值

    一列li并排的时候,需要一些间距的时候,又不需要最右边或者最左边有间距. <!DOCTYPE html> <html lang="zh-CN"> <h ...

  2. Fiddler-004-配置过滤器之-域名过滤

    前文讲述了通过 Fiddler 进行网络抓包的一个小实例,具体敬请参阅博文: 有些细心的小主可能发现了,我们捕获的 HTTP请求 中有一些请求不是我们需要的,而是一些非必要数据,页面如下图所示:

  3. Windows7下 配置 Apache + PHP + MySQL + Zend Studio配置

    相关软件下载: Apache                               版本:(httpd-2.2.25) PHP                                   ...

  4. iOS7 修改导航系统默认返回按钮文字及颜色

    //iOS7 修改系统默认返回按钮文字及颜色 UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithTitle:@"返" ...

  5. LeetCode Perfect Squares

    原题链接在这里:https://leetcode.com/problems/perfect-squares/ 题目: Given a positive integer n, find the leas ...

  6. 详解MySQL---DDL语句、DML语句与DCL语句

    背景:近几年,开源数据库逐渐流行起来.由于具有免费使用.配置简单.稳定性好.性能优良等优点,开源数据库在中低端应用上占据了很大的市场份额,而 MySQL 正是开源数据库中的杰出代表.MySQL 数据库 ...

  7. 微信JS SDK使用权限签名算法

    jsapi_ticket 生成签名之前必须先了解一下jsapi_ticket,jsapi_ticket是公众号用于调用微信JS接口的临时票据.正常情况下,jsapi_ticket的有效期为7200秒, ...

  8. Linux就这个范儿 第12章 一个网络一个世界

    Linux就这个范儿 第12章 一个网络一个世界 与Linux有缘相识还得从一项开发任务说起.十八年前,我在Nucleus  OS上开发无线网桥AP,需要加入STP生成树协议(SpanningTree ...

  9. linux web服务器静态资源的处理 unison+inotify双向同步

    linux web服务器静态资源的处理 unison+inotify双向同步 http://monkeyzhu.blog.51cto.com/5764358/1324391 简介 unison可以使两 ...

  10. DOS - for

    遍历当前目录,显示文件/文件夹列表 for /f "usebackq" %i in (`dir /b`) do echo %i 注意点: 1.%i用于dos窗口,batch中需要使 ...