当前位置: 首页 > news >正文

C#——文件读取IO操作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]);
}

http://www.lryc.cn/news/379654.html

相关文章:

  • 昨天gitee网站访问不了,开始以为电脑哪里有问题了
  • 深入理解适配器模式:Java实现与框架应用
  • 跌倒识别:守护公共安全的AI技术应用场景-免费API调用
  • 算法:渐进记号的含义及时间复杂度计算
  • idea导入文件里面的子模块maven未识别处理解决办法
  • IOS Swift 从入门到精通:协议和扩展
  • Vue插件开发:Vue.js的插件架构允许开发者扩展Vue的核心功能,我们可以探讨如何开发一个Vue插件并与社区分享
  • 学习面向对象前--Java基础练习题
  • 用Python实现抖音新作品监控助手,实时获取博主动态
  • 图像分隔和深度成像技术为什么受市场欢迎-数字孪生技术和物联网智能汽车技术的大爆发?分析一下图像技术的前生后世
  • Redis 内存策略
  • Java小实验————斗地主
  • 【Oracle】Linux 卸载重装 oracle 教程(如何清理干净残留)系统 CentOS7.6
  • web中间件漏洞-Jenkins漏洞-弱口令、反弹shell
  • Linux开发讲课9--- Linux的IPC机制-内存映射(Memory Mapping)
  • Java赋值运算符
  • Qt做群控系统
  • 【专业英语 复习】第10章 Information System
  • 09-axios在Vue中的导入与配置
  • odoo17 小变更4
  • Flink assignTimestampsAndWatermarks 深度解析:时间语义与水印生成
  • C++排序算法——合并有序数组
  • 安装pytorch环境
  • 内卷从古到今就一直存在,并不是近年的“新物”,破局在于你是否有意识地学习。
  • 跟《经济学人》学英文:2024年6月15日这期 The war for AI talent is heating up
  • 港湾周评|高盛眼中的618增长
  • SPSS知识
  • 【网络安全的神秘世界】关于Linux中一些好玩的字符游戏
  • 【LeetCode】Hot100:验证二叉搜索树
  • [Qt] Qt Creator 编译输出乱码,问题页中的报错、警告内容,编译输出乱码