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. SQL Server中的Image数据类型的操作

    原文:SQL Server中的Image数据类型的操作 准备工作,在库Im_Test中建立一张表Im_Info,此表中有两个字段,分别为Pr_Id (INT),Pr_Info (IMAGE),用来存储 ...

  2. [LeetCode]题解(python):111 Minimum Depth of Binary Tree

    题目来源 https://leetcode.com/problems/minimum-depth-of-binary-tree/ Given a binary tree, find its minim ...

  3. JS控制flash的播放

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...

  4. onRetainNonConfigurationInstance和getLastNonConfigurationInstance

    很多网友可能知道Android横竖屏切换时会触发onSaveInstanceState,而还原时会产生 onRestoreInstanceState,但是Android的Activity类还有一个方法 ...

  5. Android设计模式源码解析之Builder模式

    https://github.com/simple-android-framework/android_design_patterns_analysis/tree/master/builder/mr. ...

  6. 6、JavaScript进阶篇③——浏览器对象、Dom对象

    一.浏览器对象 1. window对象 window对象是BOM的核心,window对象指当前的浏览器窗口. window对象方法: 注意:在JavaScript基础篇中,已讲解了部分属性,windo ...

  7. 第七篇 Replication:合并复制-订阅

    本篇文章是SQL Server Replication系列的第七篇,详细内容请参考原文. 订阅服务器就是复制发布项目的所有变更将传送到的服务器.每一个发布需要至少一个订阅,但是一个发布可以有多个订阅. ...

  8. ASP.NET MVC Filter

    http://stackoverflow.com/questions/6940371/asp-net-mvc-request-filters http://afana.me/post/aspnet-m ...

  9. 查找文件并执行的shell命令

    来由 经常我们需要找到某类文件, 并对进行处理. 例如找到.svn文件夹, 然后删除掉. 如果不使用shell,你可以选择手动删除, 前提是没有几个此类文件, 但是svn信息文件很多, 不能采用手动删 ...

  10. kfed (kernel file editor:内核文件编辑器)

    kfed是没有在文档中标出的asm工具,在oracle 11gR1中被引入.可以被用来读写asm元数据,特别是磁盘头和asm元数据的内容. kfed是一个单独的工具,不依赖与asm实例,所以可以对mo ...