【C#基础知识】——File(文件操作)Path类
来源:互联网 发布:ubuntu nginx启动脚本 编辑:程序博客网 时间:2024/05/28 09:32
Path静态类
Path是静态类。只适用于操作路径的类。
- Path常用的方法:
- 1 . Path.GetFileName(string path)
- 获得指定的路径文件的名字和扩展名。
string str = @"D:\paths\gaosan.txt"; //// 获得文件的名字,返回字符串 string name = Path.GetFileName(str); Console.WriteLine(name);
- 2 . Path.GetFileNameWithoutExtension(string path);
- 获得指定的路径文件的名字,但是不包含扩展名。
// 获得文件的名字,但是不包含扩展名Console.WriteLine(Path.GetFileNameWithoutExtension(str));
- 3 . Path.GetExtension(string path);
- 获得指定的路径文件的扩展名。
// 获得文件的扩展名 Console.WriteLine(Path.GetExtension(str));
- 4 . Path.GetDirectoryName(string path);
- 获得指定的路径文件所在的文件夹的名称。
// 获得此文件所在的文件夹的名称 Console.WriteLine(Path.GetDirectoryName(str));
- 5 . Path.GetFullPath(string path);
- 获得指定路径文件所在的全路径。(绝对路径)
// 获得文件所在的全路径 Console.WriteLine(Path.GetFullPath(str));
- 6 . Path.Combine(params string[] paths);
- 将字符串数组组合成一个路径。(连接两个字符串作为路径)
// 将字符串数组组合成一个路径(连接两个字符串作为路径) Console.WriteLine(Path.Combine(@"c:\a\" + "b.txt"));
File类(文件操作)
File 也是一个静态类,操作文件。
- File常用的方法:
- 1 . File.Create(string path);
- 在指定的路径中创建文件或覆盖文件。
//*** File 静态类string path = @"D:\paths\gaosan.txt";// 在指定的路径中创建文件或覆盖文件File.Create(@"D:\paths\gaosan.txt");Console.WriteLine("创建成功");
- 2 . File.Delete(string path);
- 删除指定的文件。
// 删除指定的文件 File.Delete(path);
- 3 . File.Copy(string sourceFileName,string destFileName,bool overwrite);
- 将现有的文件复制到一个新文件;(给第三个参数添加 true 表示当文件存在时允许覆盖,如果不添加 true,当文件存在时会报异常)
// 复制一个文件(你要复制的文件,新文件) true 表示当文件存在时 "覆盖",如果不加 true ,则文件存在会报异常 File.Copy(@"D:\paths\gaosan.txt",@"D:\paths\CSDN.txt",true);
- 4 . File.Move(string sourceFileName ,string destFileName);
- 将指定文件移动(剪切)到新的位置,并提供指定新文件名。(注意新文件名不能在指定的路径中重复否则会报错)
// 将文件移动(剪切)到新的位置,并提供指定新文件名File.Move(@"D:\paths\gaosan.txt",@"D:\paths\gaosan\gaosan.txt");
- 5 . File.Exists(string path);
- 判断指定文件是否存在。存在返回True,不存在返回 False。
// 判断文件是否存在Console.WriteLine(File.Exists(@"D:\paths\gaosan.txt"));
File 对文件的读写
- 读取
- 6 . File.ReadAllBytes(string path);
- 打开一个指定文件,将文件的内容读入一个字符串中,然后关闭该文件。返回 byte[] 。
(注意字节数组我们并看不懂,需要把字节数组解码成字符串)。
- 7. Encoding.Default.GetString(byte[] bytes);
- Encoding 表示字节编码;Default 表示编码格式。
// 打开一个文件,将文件的内容读入一个字符串,然后关闭该文件;返回一个 byte 数组byte[] buffer = File.ReadAllBytes(@"D:\paths\gaosan\gaosan.txt");// 将字节数组中的每一个元素都要按照我们指定的编码格式 解码成字符串// Encoding 表示字节编码 string str = Encoding.Default.GetString(buffer); Console.WriteLine(str);
- 8 . File.ReadAllLines(string path);
- 打开一个文件,读取文件的所有行,然后关闭该文件。(2个重载)
// 打开一个文件,读取文件的所有行,然后关闭该文件string[] str1 = File.ReadAllLines(@"D:\paths\gaosan\gaosan.txt");foreach (string item in str1){ Console.WriteLine(item);}
注意这里读取出现了乱码,那是因为编码格式不一致。我们可以使用第二个重载,在参数二指定编码格式。在运行
- 8 .1. File.ReadAllLines(string path, Encoding encoding);
- 打开一个文件,使用指定的编码读取文件的所有行,然后关闭该文件
// 打开一个文件,读取文件的所有行,然后关闭该文件 string[] str1 = File.ReadAllLines(@"D:\paths\gaosan\gaosan.txt",Encoding.Default); foreach (string item in str1) { Console.WriteLine(item); }
- 9 . File.ReadAllText(string path, Encoding encoding);
- 打开一个文件,使用指定的编码读取文件的所有字符串,然后关闭该文件
string str = File.ReadAllText(@"D:\paths\gaosan.txt", Encoding.Default); Console.WriteLine(str);
- 写入
- 10 . File.WriteAllBytes(sring path,byte[] bytes);
- 创建一个新文件,在其中写入指定的字节数组,然后关闭文件,如果目标文件已存在,则覆盖该文件。
(注意字节数组我们并看不懂,所有写入的时候先创建字符串再把字符串转换成字节数组)
// WriteAllBytes 创建一个新文件,在其中写入指定的字节数组, // 然后关闭文件,如果目标文件已存在,则覆盖该文件。 string str2 = "CSDN:http://blog.csdn.net/"; // 需要将字符串转换成字节数组 byte[] buffer1 = Encoding.Default.GetBytes(str2); File.WriteAllBytes(@"D:\paths\gaosan\gaosan.txt", buffer1);
- 11 . File.WriteAllLines(string path, string[] contents);
- 创建一个新文件,如果已经存在则覆盖,在其中写入指定的字符串数组 。(一行一行的写入对应字符串数组元素)
// 创建一个新文件,如果已经存在则覆盖,在其中写入指定的字符串数组 (一行一行的写入对应字符串数组元素) File.WriteAllLines(@"D:\paths\gaosan\gaosan.txt", new string[] { "高山", "http://blog.csdn.net/joinl" });
在这里注意,打开文件出现了乱码,这是因为编码格式的原因,此方法有四个重载,我们可以在第三个参数指定个编码格式。在运行。
11 .1. File.WriteAllLines(string path, string[] contents, Encoding encoding);
File.WriteAllLines(@"D:\paths\gaosan\gaosan.txt", new string[] { "高山", "http://blog.csdn.net/joinl" },Encoding.UTF8);
- 12 . File.WriteAllText(string path,string contents);
- 创建一个新文件,如果已经存在则覆盖,在其中写入指定的字符串。
// 创建一个新文件,如果已经存在则覆盖,在其中写入指定的字符串File.WriteAllText(@"D:\paths\gaosan\gaosan.txt", "CSDN:http://blog.csdn.net/", Encoding.UTF8);
知识点
- File 读取文件是一次全部读完,所以 File 只适合读取小文件。而读取大文件就要用文件流。
- ReadAllLines(); 和 ReadAllText(); 只能读取文本文件,当不是文本文件时只能使用 ReadAllBytes(); 读取。
- 而 ReadAllLines(); 返回的是每行数组。(如果对每行数据进行操作是可以使用)
- 如果只是读取展现文本文件的数据 就用 ReadAllText();
- 绝对路径和相对路径。
- 1 . 绝对路径: 通过给定的这个路径直接能在我的电脑中找到这个文件。
- 2 . 相对路径: 文件相对于应用程序的路径。
1 0
- 【C#基础知识】——File(文件操作)Path类
- C#基础(19)——path、File类的基本操作
- C#文件操作常用相关类(Directory类、File类、Path类)
- Java基础知识之文件操作(一)——File类遍历文件夹
- C#基础精华04(文件流,文件操作,File、Directory、Path,Directory)
- c#基础入门(4)——File、Directory、Path
- C# file 文件操作
- C# file文件操作
- c# path类与File类 文件流
- C# Path操作路径文件、File处理文件、读写文件:byte[];string[];string; string与byte[]转换,File.AppendAllText()
- C# 文件操作详解(一)---------File类
- C# 文件操作详解(一)File类
- 文件操作总结 (Path,Directory,File)
- JavaSE IO流 File文件操作基础知识
- C# FILE文件操作小结
- 文件操作——File
- 文件操作——File
- C# File操作类
- Maven开发笔记(三)—— Maven中dependencies和dependencyManagement
- docker学习之路——安装
- 深拷贝与浅拷贝
- java常用设计模式1——单例模式
- 进程和线程
- 【C#基础知识】——File(文件操作)Path类
- 编程基础知识(持续更新)
- waitKey() 函数的作用
- 详解AR光学技术产业链
- linux 安装 Zcash
- Maven开发笔记(四)—— Maven中plugins和pluginManagement
- mac android studio freeline 踩到的坑
- Serverless技术架构——极简运维,无限扩容
- mysql忘记密码以及修改密码