首页 > 编程语言 >C#——文件读取IO操作File类详情

C#——文件读取IO操作File类详情

时间:2024-06-21 21:02:17浏览次数:26  
标签:文件 IO C# 路径 写入 参数 File 读取

文件读取操作

IO类 就是对应文件的操作的类I/O类 包含各种不同的类 用于执行各种文件操作,创建文件删除文件读写文件

常用的类:        

File处理文件操作的类        

FilleStream用于文件当中任何位置的读写

File类

1.文件创建

File.Create() 在指定路径下创建或者替换一个文件,如果路径下已经存在该文件,原来的文件会被覆盖参数是指定的文件路径,

FileStream 文件流, 把文件的写入读取操作看成一个水流一样进行写入指定路径

FileStream file = File.Create(@"1.txt");

2. Close(); 关闭一个文件流

创建和删除不能同时执行,可以在中间加上Close 创建和删除可以一起使用

file.Close();

3.Delete()删除文件

参数: 指定删除的文件路径 (创建和删除不能同时执行)

提示: 删除的文件是彻底清除的(回收站里面都找不到)

File.Delete(@"1.txt");

4. 文件赋值粘贴操作

参数1: 被复制的文件路径 参数2: 复制的文件路径

注意: 1.如果被复制的文件路径不存在 则会报错 2.如果两个文件路径一样也会报错

File.Copy(@"被复制的文件路径", @"复制的文件路径");

5. Exists()判断文件是否存在

返回值是一个bool值

bool isExist = File.Exists(@"\文件路径");Console.WriteLine(isExist);

6. Move文件的剪切操作

参数1:原始文件路径 参数2:新的文件路径

File.Move(@"原本的文件路径", @"新的文件路径");

7. 文件的读取和写入(字节形式)

写入
// WriteAllBytes();写入文件以字节方式写入
// 参数1: 写入路径 参数2: 写入数据的编码
// new UTF8Encoding() 创建一个编码器
// GetBytes("") 获取编码的字节
string s = "你好!!! Csharp";
File.WriteAllBytes(@"1.txt" , new UTF8Encoding().GetBytes(s));

读取 ReadAllBytes();
// 读取内容 以字节的形式进行读取 返回的是字节数组
byte[] b1 = File.ReadAllBytes(@"1.txt");
// 把读取的字节数组b1转成字符串打印
string str = new UTF8Encoding().GetString(b1);
Console.WriteLine(str);

8. 文件的读写操作(字符串形式)

写入

// WriteAllText() 参数1: 写入的路径 参数2: 写入的字符串

File.WriteAllText(@"1.txt", "你好!预制菜已经进入学校里面");

读取

// ReadAllText() 参数1: 读取的路径 参数2: 编码 (返回的是字符串)

string ss = File.ReadAllText(@"1.txt", Encoding.UTF8);Console.WriteLine(ss);

9. 文件读写操作(数组)

写入
// WriteAllLines() 参数1: 指定的文件路径 参数2: 写入的内容 参数3: 编码格式
string[] info = new string[] { @"利好,Csharp\n", @"利好,Csharp\n", @"利好,Csharp\n" };
File.WriteAllLines(@"1.txt",info,new UTF8Encoding());
读取
string[] sss = File.ReadAllLines(@"1.txt",Encoding.UTF8);
for (in i = 0; i < sss.Length; i++)

{
         Console.WriteLine(sss[i]);
}

标签:文件,IO,C#,路径,写入,参数,File,读取
From: https://blog.csdn.net/qq_3517289697/article/details/139750066

相关文章

  • 【CSS in Depth2精译】1.1.4 源码顺序
    解决层叠冲突的最后一环叫做源码顺序,有时又称为出现顺序(orderofappearance)。如果其他判定规则均一致,则样式表中后出现的、或者在页面较晚引入的样式表声明,将最终胜出。也就是说,可以通过控制源码出现的顺序来给示例中的特色链接添加样式。如果两个存在冲突的选择器优先......
  • 关键属性描述ASYNC_REG
    关键属性描述属性信息本章提供有关Xilinx®Vivado®DesignSuite属性的信息。条目每个属性包含以下信息(如适用):•物业说明,包括其主要用途。•支持该特性的XilinxFPGA体系结构,包括UltraScale™架构设备,除非特别注明。•支持该物业的适用对象或设备资源。•可分配给属性......
  • C++核心编程运算符的重载
    C++核心编程运算符的重载文章目录C++核心编程运算符的重载1.“+”运算符的重载1.1作为成员函数重载1.2作为全局函数重载2."<<"运算符重载2.1为什么需要重载左移运算符2.2如何重载左移运算符2.3注意事项3."++"运算符重载3.1前置递增运算符重载3.2后置递增运算符重载......
  • 2022年大作业参考报告-使用C++语言开发小学生成绩管理系统、中学生成绩管理系统、大学
    背景:目录第一章需求分析   21.1   问题描述   26.1   功能需求   26.2   开发环境   26.3   开发过程   2第二章概要设计   32.1   总体设计   32.2   类的定义   32.3   接口设计   52.4  ......
  • vector oj题 和 位运算
    知识点1:lowbit(x)        简介:众所周知,lowbit()操作是算法竞赛中的高级技巧,特别是高级数据结构,线段树的核心,还有什么二进制与位运算题目,而本文就用最通俗易懂的话,来教会大家lowbit的含义。        含义:lowbit(x)是x的二进制表达式中最低位的1所对应的值。......
  • opencv入门-小白的学习笔记c++(1)
    注:以下是根据链接https://blog.csdn.net/Cream_Cicilian/article/details/105427752的小白学习过程。1加载、修改、保存图像1.1加载图像1.1.1加载图像cv::imread用于从文件中读取图像数据并将其存储到一个cv::Mat对象中,其中第一个参数表示图像文件名称第二个参数,表......
  • 硬件开发笔记(二十一):外部搜索不到的元器件封装可尝试使用AD21软件的“ManufacturerPart
    前言  这是一个AD的一个强大的新功能,能招到元器件的原理图、3D模型还有价格厂家,但是不一定都有,有了也不一定有其3D模型。ManufacturerPartSearch在设计工具中选择即用型元件  直接搜索,搜索到需要使用的元器件。在AltiumDesigner中,直接选中设备元件。无需使用第......
  • Centos7.9使用kubeadm部署K8S 1.27.6集群环境(内网通过代理部署)
    Centos7.9使用kubeadm部署K8S1.27.6集群环境(内网通过代理部署)在内网借助代理服务器,使用kubeadm部署一个k8s集群,单master+2worker节点,K8S版本为1.7.6,使用containerd作为容器运行时。1.环境信息操作系统:CentOS7.9.2009内存:8GBCPU:4网络:节点通过代理进行访问。host......
  • 【嵌入式Linux】<总览> 文件IO
    文章目录前言一、文件IO常用函数1.open函数2.close函数3.write函数4.read函数5.dup函数6.dup2函数7.lseek函数8.fcntl函数二、文件读写细节1.换行符2.文件描述符3.errno和perror4.系统IO和用户IO5.Linux管理文件6.文件共享三、文件属性1.Lin......
  • Centos7.9使用kubeadm部署K8S 1.27.6集群环境(内网通过代理部署)
    Centos7.9使用kubeadm部署K8S1.27.6集群环境(内网通过代理部署)在内网借助代理服务器,使用kubeadm部署一个k8s集群,单master+2worker节点,K8S版本为1.7.6,使用containerd作为容器运行时。1.环境信息操作系统:CentOS7.9.2009内存:8GBCPU:4网络:节点通过代理进行访问。ho......