C#中File类常见用法总结

前言

我们在开发C#软件的过程中,经常需要和文件打交道,那么File类在C#中是我们使用非常频繁的一个类,本文就是详细介绍File类在C#中的常见用法。

1、判断文件是否存在

 string fileName = "1.txt";bool isExist = File.Exists(fileName);//文件是否存在

2、复制文件

  File.Copy("1.txt", "2.txt");//将第一个参数文件复制一份到第二个参数位置,如果第二个参数文件已存在,则报错File.Copy("1.txt", "2.txt", false);//将第一个参数文件复制一份到第二个参数位置,如果第二个参数文件已存在,若第三个参数为true则覆盖,否则报错

3、移动文件

File.Move("1.txt", "move.txt");//移动文件

4、创建文件

这里要注意,创建完文件以后要调用Dispose方法,关闭文件流

  FileStream fs = File.Create("3.txt");//创建文件fs.Dispose();

5、读取文件

5.1 一次读取所有内容

读取文件内容还分为以下三种:

string str = File.ReadAllText("1.txt");//读取文本所有内容string[] allLines = File.ReadAllLines("1.txt");//读取所有行byte[] readBytes = File.ReadAllBytes("1.txt");//读取所有字节

5.2 一个字节一个字节的读取

我们将读取到的字节存到一个List集合中

 FileStream fRead = File.OpenRead("1.txt");List<byte> readByteList = new List<byte>();while (true){int val = fRead.ReadByte();if (val != -1)//读取不到数据的时候这个值就是-1{readByteList.Add((byte)val);}else{break;}}fRead.Dispose();

6、写入内容到文件

写入内容到文件也有三种方法,如下:
File.WriteAllBytes(“1.txt”, readBytes);//将字节数组写入文件
File.WriteAllLines (“1.txt”, allLines);//将多行字符串写入文件
File.WriteAllText(“1.txt”, str);//将字符串写入文件

7、追加内容到文件

        File.AppendAllText("1.txt","追加的文本");//追加文本到已有的文件

8、删除文件

        File.Delete(fileName);//删除文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/30810.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

prototype 原型对象

在JavaScript中&#xff0c;原型对象是每个对象在创建时都会关联的一个内部对象。原型对象包含了可以被该对象直接访问的属性和方法。当我们试图访问一个对象的属性或方法时&#xff0c;JavaScript引擎会先查找该对象自身是否具有该属性或方法&#xff0c;如果没有&#xff0c;…

【保姆级教程】Linux 基于 Docker 部署 MySQL 和 Nacos 并配置两者连接

一、Linux 部署 Docker 1.1 卸载旧版本&#xff08;如有&#xff09; sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine1.2 安装 yum-utils 包 sudo yum install -y…

微信多开器

由于微信的限制&#xff0c;我们平时只能登录一个微信&#xff0c;要登录多个微信一般需要多台手机&#xff0c;很显然这种方法很费手机&#xff01;&#xff01;一个微信多开神器可以给你省下好几台手机钱&#xff0c;抓紧拉下来放手机里落灰http://www.xbydon.online/?p132 …

NetSuite 审批工作流与事务处理类型的限制关系

在最近的实践中&#xff0c;用户提出可否对Credit Memo与Vendor Prepayment Application两种事务处理类型进行审批参与&#xff0c;当提出来的时候我们并没有直接在系统中进行测试&#xff0c;而是以常规事务处理的角度认为可以满足客户的需求&#xff1b; 但在沙盒环境中讨论…

RocketMQ快速入门:如何保证消息不丢失|保证消息可靠性(九)

0. 引言 在金融、电商等对数据完整性要求极高的行业&#xff0c;消息的丢失可能会导致数据不一致&#xff0c;严重影响业务逻辑和数据统计&#xff0c;也影响客户体验&#xff0c;所以在很多业务场景下&#xff0c;我们都要求数据不能丢失。而rocketmq中&#xff0c;如何对消息…

V4和V6共存的问题

1、使用普通的 GRE来将两个 V6 网络基于一个 V4 网络进行通讯 [r1 ]interface Tunnel 0/0/0 [r1-Tunnel0/0/0]ipv6 enable [r1-Tunnel0/0/0]ipv6 address 10:: 1/64 [r1-Tunnel0/0/0]tunnel-protocol gre [r1-Tunnel0/0/0]source 12.1.1.1 [r1-Tunnel0/0/0]destination 2…

JAVA常用类Math

Java 的 Math 包含了用于执行基本数学运算的属性和方法&#xff0c;如初等指数、对数、平方根和三角函数。 Math 的方法都被定义为 static 形式&#xff0c;通过 Math 类可以在主函数中直接调用。 下面详细介绍该类的常量及数学处理方法。 1.1、静态常量 Math 类中包含 E 和…

当游戏遭遇安全问题,我们应该怎么做?

在游戏安全领域&#xff0c;专业性最差、但最常见的案例类型是DDoS攻击&#xff08;分布式拒绝服务攻击&#xff09;。出于它的特性&#xff0c;中小厂商、独立开发者较容易遭受这类攻击。 例如&#xff0c;今年2月29日上线的手游《雷索纳斯》就遭受了名为ACCN组织发起的DDoS攻…

原生js写数据自动纵向滚动,鼠标移入后停止滚动可手动滚动,鼠标移出转自动

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>滚动页面</title><link rel"styleshee…

Linux环境下,怎么排查os中系统负载过高的原因瓶颈?

在Linux环境下排查系统负载过高的原因和瓶颈&#xff0c;可以采取以下步骤&#xff1a; 使用top或htop命令观察系统整体负载情况。查看load average的值&#xff0c;分别表示系统在1分钟、5分钟和15分钟内的平均负载。如果负载值超过CPU核心数量的70-80%&#xff0c;表示系统负…

【内含优惠码】重磅发售!《2023年度中国量化投资白皮书》(纸质版)

这是可以公开了解量化行业图景的&#xff0c;为数不多资料。 简介 《2023年度中国量化投资白皮书》由宽邦科技、华泰证券、金融阶、华锐技术、AMD、阿里云、英迈中国等多家机构联合发起编写&#xff0c;并于2024年6月15日正式发布&#xff0c;全书公17万字6大章节勾勒最新量化…

Studying-代码随想录训练营day15| 222.完全二叉树的节点个数、110.平衡二叉树、257.二叉树的所有路径、404.左叶子之和

第十五天&#xff0c;二叉树part03&#x1f4aa;&#xff0c;编程语言&#xff1a;C 目录 257.完全二叉树的节点个数 110.平衡二叉树 257.二叉树的所有路径 404.左叶子之和 总结 257.完全二叉树的节点个数 文档讲解&#xff1a;代码随想录完全二叉树的节点个数 视频讲解…

Arduino平台软硬件原理及使用——无源蜂鸣器模块的使用

文章目录 一、蜂鸣器发声原理 二、无源蜂鸣器与有源蜂鸣器的区分 三、无源蜂鸣器模块在Arduino中的使用 一、蜂鸣器发声原理 上图为常见的不同封装及规格的蜂鸣器。 同蜜蜂、知了等昆虫发声原理一样&#xff0c;蜂鸣器同样靠振动来发出声音&#xff1b; 如上图为无源蜂鸣器的内…

【总结】ui自动化selenium知识点总结

1. 大致原理 首页安装第三方库selenium库&#xff0c; 其次要下载好浏览器驱动文件&#xff0c;比如谷歌的 chromedriver.exe&#xff0c;配置上环境变量。 使用selenium的webdriver类去创建一个浏览器驱动对象赋值叫driver&#xff0c;一个浏览器驱动对象就可以 实现 对浏…

【vue3|第11期】Vue3中的ref属性:让元素引用变得简单

日期&#xff1a;2024年6月19日 作者&#xff1a;Commas 签名&#xff1a;(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释&#xff1a;如果您觉得有所帮助&#xff0c;帮忙点个赞&#xff0c;也可以关注我&#xff0c;我们一起成长&#xff1b;如果有不对的地方&#xf…

qt当中ui卡顿如何处理,以下是几种处理方法

当在 Qt 应用程序中出现 UI 响应卡顿的情况时&#xff0c;可以考虑以下几种方式来改善和处理&#xff1a; 使用多线程&#xff1a; 将耗时的操作放在单独的线程中执行&#xff0c;以避免阻塞主线程。可以使用 Qt 的线程机制&#xff08;例如 QThread 类&#xff09;或者使用 Q…

二叉树的基本操作以及一些二叉树相关例题

目录 1,获取树中节点的个数 2,获取叶子节点的个数 3,获取叶子节点的个数(2) 4,获取第K层节点的个数 5,获取二叉树的高度 6,检测值为value的元素是否存在 例题1:相同的树问题 例题2:另一棵树的子树问题 例题3:翻转二叉树 例题4:对称二叉树 1,获取树中节点的个数 publi…

招聘主播?小心是大陷阱!!!

高薪招聘主播的骗局通常涉及一系列精心设计的步骤&#xff0c;旨在引诱求职者上钩并从中获利。以下是这种骗局常见的几个关键环节&#xff1a; 首先&#xff0c;骗子会通过各种渠道发布诱人的招聘信息&#xff0c;声称正在寻找有潜力的主播&#xff0c;并承诺提供高额的底薪和…

MySQL UPDATE查询的用法和注意事项

MySQL是一种流行的关系型数据库管理系统&#xff0c;其中UPDATE查询是用于修改表中数据的重要操作。通过使用UPDATE查询&#xff0c;可以更新表中的记录&#xff0c;实现数据的动态更新和修改。本文将总结MySQL UPDATE查询的用法和注意事项&#xff0c;帮助读者更好地理解和应用…

虚拟3D沉浸式展会编辑平台降低了线上办展的门槛

在数字化浪潮的引领下&#xff0c;VR虚拟网上展会正逐渐成为企业展示品牌实力、吸引潜在客户的首选平台。我们与广交会携手走过三年多的时光&#xff0c;凭借优质的服务和丰富的经验&#xff0c;赢得了客户的广泛赞誉。 面对传统展会活动繁多、企业运营繁忙的挑战&#xff0c;许…