1、 文件操作常用相关类

a)File              //操作文件,静态类,对文件整体操作。拷贝、删除、剪切等。

b)Directory        //操作目录(文件夹),静态类

c)DirectoryInfo    //文件夹的一个“类”,用来描述一个文件夹对象

d)FileInfo         //文件类,用来描述一个文件对象

e)Path            //对文件或目录的路径进行操作(很方便)【字符串】

f)Stream         //文件流,抽象类

FileStream  //文件流,MemoryStream(内存流),NetworkStream(网络流)

StreamReader         //快速读取文本文件

StreamWriter          //快速写入文本文件

2、 Path类(对字符串操作)

  a) 目录和文件操作的命名空间System.IO

b) string ChangeExtension(string path, string extension) (*)

  修改文件的后缀,“修改”支持字符串层面的,没有真的给文件改名

  string s = Path.ChangeExtension(@"C:\temp\F3.png", "jpg")

c) string Combine(string path1, string path2)

  将两个路径合成一个路径,比用+好,可以方便解决不加斜线的问题,自动处理路径分隔符的问题

  string s = Path.Combine(@"c:\temp","a.jpg")

d) string GetDirectoryName(string path) (*)

  得到文件的路径名。Path.GetDirectoryName(@"c:\temp\a.jpg")

     string GetExtension(string path) 得到文件的扩展名

     string GetFileName(string path) 得到文件路径的文件名部分

string GetFileNameWithoutExtension(string path) 得到去除扩展名的文件名

string GetFullPath(string path) 得到文件的全路径。可以根据相对路径获得绝对路径。

string GetTempFileName()  得到一个唯一的临时文件名(*)

string GetTempPath() 得到临时文件夹的路径(*)

补充:Path.GetFileName()获取文件名

3、 操作目录

Directory和DirectoryInfo

a)void Delete(string path, bool recursive)     删除目录

b)recursive表示是否递归删除,如果recursive为false则只能删除空目录

c)bool Exists(string path)      判断目录是否存在

move()

CreateDirectory()

string[] GetDirectories(string path)  得到一个目录下的子目录

string[] GetDirectories(string path, string searchPattern, SearchOption searchOption)    通配符查找目录下的子目录,可以搜索到隐藏文件。

static string[] GetFiles(string path)  得到一个目录下的文件

string[] GetFiles(string path, string searchPattern, SearchOption searchOption)   通配符查找目录下的文件

DirectoryInfo GetParent(string path)  得到目录的父目录

4、 File类的方法

a)File.Copy(“source”, “targetFileName”, true);//文件拷贝,true表示当文件存在时“覆盖”,如果不加true,则文件存在报异常。

b)File.Exists();//判断文件是否存在

c)File.Move(“source”, “target”);//移动(剪切),思考如何为文件重命名?

  C#里面,重命名文件时,没有 rename 这个功能,使用的是FileInfo.MoveTo的方式,MoveTo 到原目录里一个新的名字,即实现了重命名

d)File.Delete(“path”);//删除。如果文件不存在?不存在,不报错

e)File.Create(“path”);//创建文件

操作文本文件

a)File.ReadAllLines(“path”, Encoding.Default);//读取所有行,返回string[]

b)File.ReadAllText(“path”, Encoding.Default);//读取所有文本返回string

c)File.ReadAllBytes(“path”);//读取文件,返回byte[]

===================================

a)File.WriteAllLines(“path”, new string[4] ,Encoding.Default);//将b)string数组按行写入文件。

c)File.WriteAllText(“path”, “string”);//将字符串全部写入文件

d)File.WriteAllBytes(“path”,new byte[5]);//将byte[]全部写入到文件

e)File.AppendAllText()//将string追加到文件

File.Open(); //返回FileStream

File.OpenRead();//返回只读的FileStream

File.OpenWrite();//返回只写的FileStream

C#中的文件操作1的更多相关文章

  1. 第32课 Qt中的文件操作

    1. Qt的中IO操作 (1)Qt中IO操作的处理方式 ①Qt通过统一的接口简化了文件和外部设备的操作方式 ②Qt中的文件被看作一种特殊的外部设备 ③Qt中的文件操作与外部设备的操作相同 (2)IO操 ...

  2. 重新想象 Windows 8 Store Apps (24) - 文件系统: Application Data 中的文件操作, Package 中的文件操作, 可移动存储中的文件操作

    原文:重新想象 Windows 8 Store Apps (24) - 文件系统: Application Data 中的文件操作, Package 中的文件操作, 可移动存储中的文件操作 [源码下载 ...

  3. 背水一战 Windows 10 (91) - 文件系统: Application Data 中的文件操作, Application Data 中的“设置”操作, 通过 uri 引用 Application Data 中的媒体

    [源码下载] 背水一战 Windows 10 (91) - 文件系统: Application Data 中的文件操作, Application Data 中的“设置”操作, 通过 uri 引用 Ap ...

  4. 背水一战 Windows 10 (90) - 文件系统: 获取 Package 中的文件, 可移动存储中的文件操作, “库”管理

    [源码下载] 背水一战 Windows 10 (90) - 文件系统: 获取 Package 中的文件, 可移动存储中的文件操作, “库”管理 作者:webabcd 介绍背水一战 Windows 10 ...

  5. Java中的文件操作(一)RandomAccessFile

    今天,学到的是java中的文件操作. Java.IO.File Java中操作文件用到RandomAccessFile类,既可以读取文件内容,也可以向文件输出数据,但不同与普通输入/输出流的是Rand ...

  6. Win 32平台SDK中的文件操作

    读取文件: HANDLE hFile ; // 声明文件操作内核对象句柄 hFile = CreateFile(, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL ...

  7. ASP.NET中的文件操作(文件信息,新建,移动,复制,重命名,上传,遍历)(亲测详细)

    做了几天的文件操作,现在来总结一下,错误之处,还望指点!以文件为例,如果对文件夹操作,基本上将File换为Directory即可(例:FileInfo file = new FileInfo(Path ...

  8. 关于Python中的文件操作(转)

    总是记不住API.昨晚写的时候用到了这些,但是没记住,于是就索性整理一下吧: python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Pyth ...

  9. 说说Python 中的文件操作 和 目录操作

    我们知道,文件名.目录名和链接名都是用一个字符串作为其标识符的,但是给我们一个标识符,我们该如何确定它所指的到底是常规文件文件名.目录名还是链接名呢?这时,我们可以使用os.path模块提供的isfi ...

  10. C#中的文件操作

    在.NET Framework 中进行的所有输入和输出工作都要用到流(stream) 有两种类型的流: 输出流:当向某些外部目标写入数据时,就要用到输出流(将数据写入到文件中). 输入流:用于将数据读 ...

随机推荐

  1. EA强大的绘图工具---设计数据库表格

    关于EA这个优秀的软件是从师哥哪里听来的,自己瞎点了点,感觉也没什么.近期和和智福加上一个师哥合作敲机房收费系统时,想到之前听人说EA非常强大,便随便找了找关于EA使用的帮助手冊.果然惊喜-- 如题, ...

  2. mysql基础之基本数据类型

    原文:mysql基础之基本数据类型 列类型学习 mysql三大列类型 整型 Tinyint/ smallint/ mediumint/int/ bigint(M) unsigned zerofill ...

  3. sql内置函数pivot强大的行转列功能

    原文:sql内置函数pivot强大的行转列功能 语法: PIVOT用于将列值旋转为列名(即行转列),在SQL Server 2000可以用聚合函数配合CASE语句实现 PIVOT的一般语法是:PIVO ...

  4. KMP算法简单回顾

    前言 虽从事企业应用的设计与开发,闲暇之时,还是偶尔涉猎数学和算法的东西,本篇根据个人角度来写一点关于KMP串匹配的东西,一方面向伟人致敬,另一方面也是练练手,头脑风暴.我在自娱自乐,路过的朋友别太认 ...

  5. 更改MYSQL数据库不区分大小写表名

    今天郁闷死了,在LINUX下调一个程序老说找不到表,但是我明明是建了表的,在MYSQL的命令行下也可以查到,为什么程序就找不到表呢? 后来请教了一个老师才搞定,原来是LINUX下的MYSQL默认是要区 ...

  6. Ant 随想

    Ant是一种基于Java的build工具 面向任务构建,属性与于shell脚本中命令功能类型. <?xml version="1.0"?> <project na ...

  7. 【值得收藏】符号计算软件Maple的学习资料汇编【可免费下载】

    Maple学习教程 Maple是目前世界上最为通用的数学和工程计算软件之一,在数学和科学领域享有盛誉,有“数学家的软件”之称.Maple在全球拥有数百万用户,被广泛地应用于科学.工程和教育等领域,用户 ...

  8. boost------signals2的使用1(Boost程序库完全开发指南)读书笔记

    signals2基于Boost的另一个库signals,实现了线程安全的观察者模式.在signals2库中,观察者模式被称为信号/插槽(signals and slots),他是一种函数回调机制,一个 ...

  9. CSS3(transform/transition/animation) 基础 总结

    1.CSS3新增的样式(常用) //颜色透明表示rgba(0,0,0,.5) //圆角(定义角半径)border-radius: 5px 10px 15px 20px; //文字/盒子阴影text-s ...

  10. Redis一些命令总结

      链接操作相关的命令 quit:关闭连接(connection) auth:简单密码认证 持久化 save:将数据同步保存到磁盘 bgsave:将数据异步保存到磁盘 lastsave:返回上次成功将 ...