using System;
using System.IO; class Test
{
public static void Main()
{
string path = @"c:\temp\MyTest.txt";
if (!File.Exists(path))
{
// Create a file to write to.
using (StreamWriter sw = File.CreateText(path))
{
sw.WriteLine("Hello");
sw.WriteLine("And");
sw.WriteLine("Welcome");
}
} // Open the file to read from.
using (StreamReader sr = File.OpenText(path))
{
string s;
while ((s = sr.ReadLine()) != null)
{
Console.WriteLine(s);
}
}
}
}

提供用于创建、复制、删除、移动和打开单一文件的静态方法,并协助创建 FileStream 对象。

方法

AppendAllLines(String, IEnumerable<String>)

向一个文件中追加行,然后关闭该文件。 如果指定文件不存在,此方法会创建一个文件,向其中写入指定的行,然后关闭该文件。

AppendAllLines(String, IEnumerable<String>, Encoding)

使用指定的编码向一个文件中追加行,然后关闭该文件。 如果指定文件不存在,此方法会创建一个文件,向其中写入指定的行,然后关闭该文件。

AppendAllText(String, String)

打开一个文件,向其中追加指定的字符串,然后关闭该文件。 如果文件不存在,此方法将创建一个文件,将指定的字符串写入文件,然后关闭该文件。

AppendAllText(String, String, Encoding)

将指定的字符串追加到文件中,如果文件还不存在则创建该文件。

AppendText(String)

创建一个 StreamWriter,它将 UTF-8 编码文本追加到现有文件或新文件(如果指定文件不存在)。

Copy(String, String)

将现有文件复制到新文件。 不允许覆盖同名的文件。

Copy(String, String, Boolean)

将现有文件复制到新文件。 允许覆盖同名的文件。

Create(String)

在指定路径中创建或覆盖文件。

Create(String, Int32)

创建或覆盖指定的文件。

Create(String, Int32, FileOptions)

创建或覆盖指定的文件,指定缓冲区大小和一个描述如何创建或覆盖该文件的FileOptions 值。

Create(String, Int32, FileOptions, FileSecurity)

创建或覆盖具有指定的缓冲区大小、文件选项和文件安全性的指定文件。

CreateText(String)

创建或打开用于写入 UTF-8 编码文本的文件。 如果该文件已存在,将覆盖其内容。

Decrypt(String)

使用 Encrypt(String) 方法解密由当前帐户加密的文件。

Delete(String)

删除指定的文件。

Encrypt(String)

将某个文件加密,使得只有加密该文件的帐户才能将其解密。

Exists(String)

确定指定的文件是否存在。

GetAccessControl(String)

获取一个 FileSecurity 对象,它封装指定文件的访问控制列表 (ACL) 条目。

GetAccessControl(String, AccessControlSections)

获取一个 FileSecurity 对象,封装特定文件的指定类型的访问控制列表 (ACL) 项。

GetAttributes(String)

获取在此路径上的文件的 FileAttributes。

GetCreationTime(String)

返回指定文件或目录的创建日期和时间。

GetCreationTimeUtc(String)

返回指定的文件或目录的创建日期及时间,其格式为协调通用时 (UTC)。

GetLastAccessTime(String)

返回上次访问指定文件或目录的日期和时间。

GetLastAccessTimeUtc(String)

返回上次访问指定的文件或目录的日期及时间,其格式为协调通用时 (UTC)。

GetLastWriteTime(String)

返回上次写入指定文件或目录的日期和时间。

GetLastWriteTimeUtc(String)

返回上次写入指定的文件或目录的日期和时间,其格式为协调通用时 (UTC)。

Move(String, String)

将指定文件移到新位置,提供要指定新文件名的选项。

Open(String, FileMode)

通过不共享的读/写访问权限打开指定路径上的 FileStream。

Open(String, FileMode, FileAccess)

通过指定的模式和不共享的访问权限打开指定路径上的 FileStream。

Open(String, FileMode, FileAccess, FileShare)

打开指定路径上的 FileStream,具有带读、写或读/写访问的指定模式和指定的共享选项。

OpenRead(String)

打开现有文件以进行读取。

OpenText(String)

打开现有 UTF-8 编码文本文件以进行读取。

OpenWrite(String)

打开一个现有文件或创建一个新文件以进行写入。

ReadAllBytes(String)

打开一个二进制文件,将文件的内容读入一个字节数组,然后关闭该文件。

ReadAllLines(String)

打开一个文本文件,读取文件的所有行,然后关闭该文件。

ReadAllLines(String, Encoding)

打开一个文件,使用指定的编码读取文件的所有行,然后关闭该文件。

ReadAllText(String, Encoding)

打开一个文件,使用指定的编码读取文件中的所有文本,然后关闭此文件。

ReadAllText(String)

打开一个文本文件,读取文件中的所有文本,然后关闭此文件。

ReadLines(String)

读取文件的行。

ReadLines(String, Encoding)

读取具有指定编码的文件的行。

Replace(String, String, String)

使用其他文件的内容替换指定文件的内容,这一过程将删除原始文件,并创建被替换文件的备份。

Replace(String, String, String, Boolean)

用其他文件的内容替换指定文件的内容,这一过程将删除原始文件,并创建被替换文件的备份,还可以忽略合并错误。

SetAccessControl(String, FileSecurity)

将 FileSecurity 对象描述的访问控制列表 (ACL) 项应用于指定的文件。

SetAttributes(String, FileAttributes)

获取指定路径上的文件的指定 FileAttributes。

SetCreationTime(String, DateTime)

设置创建该文件的日期和时间。

SetCreationTimeUtc(String, DateTime)

设置文件创建的日期和时间,其格式为协调通用时 (UTC)。

SetLastAccessTime(String, DateTime)

设置上次访问指定文件的日期和时间。

SetLastAccessTimeUtc(String, DateTime)

设置上次访问指定的文件的日期和时间,其格式为协调通用时 (UTC)。

SetLastWriteTime(String, DateTime)

设置上次写入指定文件的日期和时间。

SetLastWriteTimeUtc(String, DateTime)

设置上次写入指定的文件的日期和时间,其格式为协调通用时 (UTC)。

WriteAllBytes(String, Byte[])

创建一个新文件,在其中写入指定的字节数组,然后关闭该文件。 如果目标文件已存在,则覆盖该文件。

WriteAllLines(String, String[], Encoding)

创建一个新文件,使用指定编码在其中写入指定的字符串数组,然后关闭该文件。

WriteAllLines(String, IEnumerable<String>, Encoding)

使用指定的编码创建一个新文件,向其中写入一个字符串集合,然后关闭该文件。

WriteAllLines(String, String[])

创建一个新文件,在其中写入指定的字节数组,然后关闭该文件。

WriteAllLines(String, IEnumerable<String>)

创建一个新文件,向其中写入一个字符串集合,然后关闭该文件。

WriteAllText(String, String)

创建一个新文件,向其中写入指定的字符串,然后关闭文件。 如果目标文件已存在,则覆盖该文件。

WriteAllText(String, String, Encoding)

创建一个新文件,使用指定编码向其中写入指定的字符串,然后关闭文件。 如果目标文件已存在,则覆盖该文件。

C# System.IO.File的更多相关文章

  1. System.IO.File.Create 不会自动释放,一定要Dispose

    这样会导致W3P进程一直占用这个文件 System.IO.File.Create(HttpContext.Current.Server.MapPath(strName)) 最好加上Dispose Sy ...

  2. IIS目录下文件共享后System.IO.File.Exists返回false

    场景:在iis目录下,因为特殊需要共享一个文件夹,给到其他的技术人员访问,突然发现小小的操作,搞“大”了,使用 string path = Server.MapPath("~/file/te ...

  3. 详解C#中System.IO.File类和System.IO.FileInfo类的用法

    System.IO.File类和System.IO.FileInfo类主要提供有关文件的各种操作,在使用时需要引用System.IO命名空间.下面通过程序实例来介绍其主要属性和方法. (1) 文件打开 ...

  4. System.IO.File.WriteAllText("log.txt", "dddd");

    System.IO.File.WriteAllText("log.txt", "dddd");

  5. System.IO.File类和System.IO.FileInfo类

    1.System.IO.File类 ※文件create, copy,move,SetAttributes,open,exists ※由于File.Create方法默认向所有用户授予对新文件的完全读写. ...

  6. 关于 System.IO.File.Exists 需要注意的事项

    各位:   .NET Framework 本省在设计的时候,他对于异常没有完全做到抛出,这样可能会有很多意想不到的问题.   比如 你在asp.net 应用程序中判断文件是否存在,这个文件可能是一个共 ...

  7. system.io.file创建

    在实际开发中,如果用的文件名不能确定位置.或名字.可以使用GUID类来命名函数.Guid 结构标识全局唯一标示符.其NewGuid结构可以初始化一个新历.该方法语法格式如下: public stati ...

  8. 未处理的异常:system.io.file load exception:无法加载文件或程序集“ 。。。。 找到的程序集的清单定义与程序集引用不匹配。

    问题描述: 添加控制器的时候,突然就报了这个错: Unhandled Exception: System.IO.FileLoadException: Could not load file or as ...

  9. 安卓上为什么不能用system.io.file读取streammingAssets目录下的文件

    首先,看文档: Streaming Assets   Most assets in Unity are combined into the project when it is built. Howe ...

随机推荐

  1. Math对象的常用属性和方法

    属性 描述 Math.PI 返回π(3.1415926) 方法 描述 Math.round() 将数字四舍五入到离它最近的整数 Math.sart(n) 返回平方根,例如Math.sart(9)返回3 ...

  2. flex布局简介

    一.概述 浮动在移动布局中不再重要,flex盒模型越来越重要. flexbox经历过三个版本,主要区别是2009年到2012年之间的语法变化. 最新的语法和现在规范是同步的(例display:flex ...

  3. (APIO2014)序列分割

    题解: 我也不知道为啥上午上课讲了我昨天看的3题 这题关键在于发现操作顺序无关的 可以发现最终答案是任意两段乘积的和 那这个东西显然是可以dp的 然后可以斜率优化一波 nklongn 另外上课讲的是当 ...

  4. java基础面试题-2

    第一,谈谈final, finally, finalize的区别.  final---修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承.因此一个类不能既被 ...

  5. moodle 笔记

    默认版块的设置: //这些变量为新课程定义了DEFAULT块变量如果设置了这个变量,它将覆盖所有其他变量,并且是唯一使用的变量s $CFG->defaultblocks_override = ' ...

  6. 高效遍历匹配Json数据与双层for循环遍历Json数据

    工作中往往遇到这种情况,保留用户操作痕迹,比如用户选择过得东西,用户进入其它页面再返回来用户选择的的数据还在. 比如:1.购物车列表中勾选某些,点击任意一项,前往详情页,再返回购物车依旧需要呈现勾选状 ...

  7. 活动 Web 页面人机识别验证的探索与实践

    在电商行业,线上的营销活动特别多.在移动互联网时代,一般为了活动的快速上线和内容的即时更新,大部分的业务场景仍然通过 Web 页面来承载.但由于 Web 页面天生“环境透明”,相较于移动客户端页面在安 ...

  8. 算法进阶面试题04——平衡二叉搜索树、AVL/红黑/SB树、删除和调整平衡的方法、输出大楼轮廓、累加和等于num的最长数组、滴滴Xor

    接着第三课的内容和讲了第四课的部分内容 1.介绍二叉搜索树 在二叉树上,何为一个节点的后继节点? 何为搜索二叉树? 如何实现搜索二叉树的查找?插入?删除? 二叉树的概念上衍生出的. 任何一个节点,左比 ...

  9. 2827: 千山鸟飞绝 非旋treap

    国际惯例的题面:看起来很不可做的样子,我们先来整理一下题意吧.就是,维护每个点曾经拥有过的最大的两个属性值,支持把点的位置移动.我们用map对每个位置进行离散化,对每个位置建立一个平衡树.为了方便分离 ...

  10. Codeforces.914D.Bash and a Tough Math Puzzle(线段树)

    题目链接 \(Description\) 给定一个序列,两种操作:一是修改一个点的值:二是给一个区间\([l,r]\),问能否只修改一个数使得区间gcd为\(x\). \(Solution\) 想到能 ...