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. django internal search

    最近改进了项目中的站内搜索的功能,增加了全文索引,提升了搜索速度.因为项目框架是django,所以采用django+haystack+pyelasticsearch+elasticsearch的方式实 ...

  2. http://blog.csdn.net/maosidiaoxian/article/details/40109337

    http://blog.csdn.net/maosidiaoxian/article/details/40109337

  3. iOS:集成ijkplayer视频直播

    介绍: ijkplayer 是一款做视频直播的框架, 基于ffmpeg, 支持 Android 和 iOS, 网上也有很多集成说明, 但是个人觉得还是不够详细, 在这里详细的讲一下在 iOS 中如何集 ...

  4. python深复制和浅复制

    深复制:一个更改后不会影响到其他的变量,另一个变量B赋值给变量A时,虽然A和B的内存空间仍然相同,但当A的值发生变化时,会重新给A分配空间,A和B的地址变得不再相同 浅复制:改变一个就会引起另一个的改 ...

  5. django工作原理

  6. UCenter uc_user_synlogin同步登陆返回值为空(NULL)的解决办法 及 ucenter原理

    第一种方法最近刚刚接触UCenter,很多问题不是很理解,只是在摸索着.尝试着做,就在刚才有解决了一个问题,虽然不知道解决问题的具体原理,但是还是实现了同步登陆.首先我是在本地测试的,也就是local ...

  7. 【关于HBITMAP, DC, MEM DC, Clipboard】将HBITMAP拷贝到Clipboard(Windows Clipboard & OLE Clipboard)

    参考: Programming Windows with MFC, 2nd. Chapter 18, 19. 建议把这两章学习完(至少到OLE drag-and-drop之前要学习完)再来尝试OLE ...

  8. SWING

    第一个图形界面应用程序.图形用户界面简称GUI(Graphical User Interface),通过GUI用户可以更好地与计算机进行交互.Swing简介Swing工具包提供了一系列丰富的GUI 组 ...

  9. java.net.ConnectException: Connection refused: connect

    在dos命令里输入netstat 查看下serverSocket所监听的端口有没有存在.

  10. 详解 ASP.NET并行,异步,多线程

    最近在学习.net4以上版本新特性的时候,发现在异步这方面提供了很多好玩的.以下Mark 2篇好文,温故而知新! http://www.cnblogs.com/wisdomqq/archive/201 ...