文件等的操作
文件等的操作
文件操作
- 文本文件编码,文本文件有不同的存储方式,将字符串以什么样的形式保存为二进制,这个就是编码,UTF-8、ASCII、Unicode等,如果出现乱码一般就是编码的问题,文本文件相关的函数一般都有一个Encoding类型的参数,取得编码的方式:Encoding.Default、Encoding.UTF8、Encoding.GetEncoding("GBK")。以什么编码存就以什么编码取就不会乱码。
- 什么是文本文件。拖到记事本中还能看得懂的就是文本文件,doc不是。
- File类的常用静态方法:
– void AppendAllText(string path, string contents),将文本contents附加到文件path中
– bool Exists(string path)判断文件path是否存在
– string[] ReadAllLines(string path) 读取文本文件到字符串数组中
– string ReadAllText(string path) 读取文本文件到字符串中
– void WriteAllText(string path, string contents)将文本contents保存到文件path中,会覆盖旧内容。
– WriteAllLines(string path,string[] contents),将字符串数组逐行保存到文件path中,会覆盖旧内容。
目录(文件夹)操作
- Directory类的常用静态方法:(目录就是文件夹)
– void Delete(string path, bool recursive)删除目录, recursive表示是否递归删除,如果recursive为false则只能删除空目录
– bool Exists(string path)判断目录是否存在
– 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) 得到目录的父目录
Path类常用静态方法
- string ChangeExtension(string path, string extension) (*)
– 修改文件的后缀,“修改”支持字符串层面的,没有真的给文件改名
– string s = Path.ChangeExtension(@"C:\temp\F3.png", "jpg")
- string Combine(string path1, string path2)
– 将两个路径合成一个路径,比用+好,可以方便解决是不是加斜线的问题,自动处理路径分隔符的问题
– string s = Path.Combine(@"c:\temp","a.jpg")
- 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() 得到临时文件夹的路径(*)
- 得到当前exe的路径。Assembly.GetExecutingAssembly(),不要用Directory.GetCurrentDirectory(),这个可能会变(使用OpenFileDialog或者SetCurrentDirectory())。(*)解决Access文件路径的问题。