【C#】读取与写入txt文件内容

在 C# 中读取和写入文本文件内容是一个常见的任务。以下是使用几种不同方法读取和写入文本文件的示例。

一、读取txt文件内容

1.1 使用 StreamReader

using System;
using System.IO;class Program
{static void Main(){string filePath = @"C:\path\to\your\file.txt";try{using (StreamReader reader = new StreamReader(filePath)){string line;while ((line = reader.ReadLine()) != null){Console.WriteLine(line);}}}catch (FileNotFoundException){Console.WriteLine("文件未找到,请检查文件路径是否正确。");}catch (IOException e){Console.WriteLine("读取文件时发生错误: " + e.Message);}}
}

1.2 使用 File.ReadAllLines

using System;
using System.IO;class Program
{static void Main(){string filePath = @"C:\path\to\your\file.txt";try{string[] lines = File.ReadAllLines(filePath);foreach (string line in lines){Console.WriteLine(line);}}catch (FileNotFoundException){Console.WriteLine("文件未找到,请检查文件路径是否正确。");}catch (IOException e){Console.WriteLine("读取文件时发生错误: " + e.Message);}}
}

1.3 使用 File.ReadAllText

using System;
using System.IO;class Program
{static void Main(){string filePath = @"C:\path\to\your\file.txt";try{// 读取整个文件到一个字符串变量string content = File.ReadAllText(filePath);// 打印文件内容Console.WriteLine(content);}catch (FileNotFoundException){Console.WriteLine("文件未找到,请检查文件路径是否正确。");}catch (IOException e){Console.WriteLine("读取文件时发生错误: " + e.Message);}}
}

1.4 注意点

在写入文件之前,务必检查文件和目录是否存在,以避免不必要的错误。使用 try-catch 块来捕获并处理任何可能发生的异常,这是一个良好的编程实践。

 

二、写入txt文件内容

2.1 追加内容到文本文件

using System;
using System.IO;class Program
{static void Main(){string filePath = @"C:\path\to\your\file.txt";string contentToAppend = "新添加的一行内容。\n";try{File.AppendAllText(filePath, contentToAppend);Console.WriteLine("内容已追加到文件。");}catch (IOException e){Console.WriteLine("写入文件时发生错误: " + e.Message);}}
}

2.2 覆盖内容到文本文件

using System;
using System.IO;class Program
{static void Main(){string filePath = @"C:\path\to\your\file.txt";string contentToWrite = "这是新的文件内容。\n";try{File.WriteAllText(filePath, contentToWrite);Console.WriteLine("文件内容已更新。");}catch (IOException e){Console.WriteLine("写入文件时发生错误: " + e.Message);}}
}

2.3 注意点

在上述两个示例中,如果指定的文件路径不存在,File.WriteAllTextFile.AppendAllText方法会创建一个新文件,并分别覆盖或追加内容。如果文件已经存在,它们会相应地写入或追加内容。

需要注意的是,这些方法会在没有提示的情况下覆盖现有文件的内容(File.WriteAllText),所以在使用时要小心,确保你了解这些操作的影响。

 

三、C++ 写入txt文件内容并追加内容

3.1 C++ 写入txt文件内容并追加内容 

C++ 写入txt文件内容并追加内容_qt ofstream写数据到txt-CSDN博客文章浏览阅读2.9k次,点赞3次,收藏9次。C++ 写入txt文件内容并追加内容_qt ofstream写数据到txthttps://blog.csdn.net/wangnaisheng/article/details/132410040

 

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

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

相关文章

QT多语言工具实现支持生成ts文件,ts文件和xlsx文件互转

一. 工具介绍 1.如果你是Qt项目,为多语言发愁的话,看到这篇文件,恭喜你有福啦!工具截图如下:​ 2.在项目开发的过程中,尽量将所有需要翻译的文本放在一个文件中,qml翻译用一个文件,cpp用一个,如下: test.h #pragma once /******************************************…

Java面试篇(线程池相关专题)

文章目录 1. 为什么要使用线程池2. 线程池的核心参数和线程池的执行原理2.1 线程池的核心参数2.2 线程池的执行原理 3. 线程池中常见的阻塞队列3.1 常见的阻塞队列3.2 ArrayBlockingQueue 和 LinkedBlockingQueue 的区别 4. 如何确定线程池的核心线程数4.1 应用程序中任务的类型…

【代码随想录】长度最小的子数组——滑动窗口

本博文为《代码随想录》的学习笔记。原文链接:代码随想录 题目 原题链接:长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl1, ..., numsr-1, nums…

历史库,成本与性能如何兼得?| OceanBase应用实践

随着数据量的迅猛增长,企业和组织在数据库管理方面遭遇的挑战愈发凸显。数据库性能逐渐下滑、存储成本节节攀升,以及数据运维复杂性的增加,这些挑战使得DBA和开发者在数据管理上面临更大的压力。 为了应对这些挑战,对数据生命周期…

uni-app学习笔记

一、下载HBuilder https://www.dcloud.io/hbuilderx.html 上述网址下载对应版本,下载完成后进行解压,不需要安装,解压完成后,点击HBuilder X.exe文件进行运行程序 二、创建uni-app项目 此处我是按照文档创建的uni-ui项目模板…

DWG图纸识别工作

DWG图纸识别工作 目的:完成从DWG图纸中数据的提取,在数据提取之前先要对DWG图纸进行识别。得到某个图层的数据。 最终完成图纸建筑外轮廓线坐标数据的提取。 1、 DWG图纸,通过AutoCAD软件导出 DXF文件 2、 DXF文件上传到服务端,…

Java设计模式(适配器模式)

定义 将一个类的接口转换成客户希望的另一个接口。适配器模式让那些接口不兼容的类可以一起工作。 角色 目标抽象类(Target):目标抽象类定义客户所需的接口(在类适配器中,目标抽象类只能是接口)。 适配器类…

XJTUSE-离散数学-图论

概述 图的定义 几个定义,不赘述 多重图:有平行边存在 简单图:无平行边 无自环 子图 and 补图 完全图的概念 结点的度 入度,出度 奇结点、偶结点 定理:对于无向图,奇结点的个数为偶数 图的同构 必…

Golang 并发编程

Golang 并发编程 Goroutine 什么是协程 创建 Goroutine 主 goroutine (main函数)退出后,其它的工作 goroutine 也会自动退出 package mainimport ("fmt""time" )func myFunc() {i : 0for {ifmt.Println("func: …

MySQL:表的设计原则和聚合函数

所属专栏:MySQL学习 💎1. 表的设计原则 1. 从需求中找到类,类对应到数据库中的实体,实体在数据库中表现为一张一张的表,类中的属性对应着表中的字段 2. 确定类与类的对应关系 3. 使用SQL去创建具体的表 范式&#xff1…

从“抠图”到“抠视频”,Meta上新AI工具SAM 2。

继2023年4月首次推出SAM,实现对图像的精准分割后,Meta于北京时间2024年7月30日推出了能够分割视频的新模型SAM 2(Segment Anything Model 2)。SAM 2将图像分割和视频分割功能整合到一个模型中。所谓“分割”,是指区别视…

API 签名认证:AK(Access Key 访问密钥)和 SK(Secret Key 私密密钥)

API签名认证 在当今的互联网时代,API作为服务与服务、应用程序与应用程序之间通信的重要手段,其安全性不容忽视。你是否遇到过需要在HTTP请求中加入访问密钥(ak)和私密密钥(sk)的情况?是不是担心这些敏感信息会被拦截或者泄露?本…

【多线程】乐观/悲观锁、重量级/轻量级锁、挂起等待/自旋锁、公平/非公锁、可重入/不可重入锁、读写锁

文章目录 乐观锁和悲观锁重量级锁和轻量级锁挂起等待锁和自旋锁公平锁和非公平锁可重入锁和不可重入锁读写锁相关面试题 锁:非常广义的概念,不是指某个具体的锁,所有的锁都可以往这些策略中套 synchronized:只是市面上五花八门的锁…

[独家原创]基于分位数回归的Bayes-GRU多变量时序预测【区间预测】 (多输入单输出)Matlab代码

[独家原创]基于分位数回归的Bayes-GRU多变量时序预测【区间预测】 (多输入单输出)Matlab代码 目录 [独家原创]基于分位数回归的Bayes-GRU多变量时序预测【区间预测】 (多输入单输出)Matlab代码效果一览基本介绍程序设计参考资料 效…

RM麦轮控制以及底盘解算

一个典型的RM机器人四轮底盘由电机,底板,悬挂等构成,底盘安装在底盘的四角,呈矩形分布,麦克纳姆轮的辊子方向会影响其运动性能,一般采用如下图所示,四个麦轮的辊子延长线都过底盘中心的安装方法…

c语言学习,atoi()函数分析

1:atoi() 函数说明: 检查参数*ptr,子串中数字或正负号,遇到非数字或结束符停止 2:函数原型: int atoi(const char *ptr) 3:函数参数: 参数c,为检测子串 4:…

MyBatis 配置与测试方式

目录 一,什么是MyBatis 二,准备工作 创建项目 配置数据库连接 持久层代码 单元测试 一,什么是MyBatis 简单来说,MyBatis 是一款优秀的持久层框架,用于简化JDBC的开发,能更简单完成程序与数据库之间…

从0到1,AI我来了- (5)大模型-本地知识库-I

一、下载&安装Ollama Ollama下载地址: Download Ollama on macOS Github地址:GitHub - ollama/ollama: Get up and running with Llama 3.1, Mistral, Gemma 2, and other large language models. Ollama 是啥? 是一个人工智能和机器学习…

一文搞懂后端面试之不停机数据迁移【中间件 | 数据库 | MySQL | 数据一致性】

数据迁移方面的工作: 重构老系统:使用新的表结构来存储数据单库拆分分库分表、分库分表扩容大表修改表结构定义 数据备份工具 MySQL上常用的两款数据备份工具:mysqldump和XtraBackup mysqldump:一个用于备份和恢复数据库的命令…

Redis中的set类型

set的含义 集合设置(和get相对应) 集合就是把一些有关联的数据放到一起 集合中的元素是无序的(和list的有序是对应的-顺序很重要,这里的无序就是顺序不重要);在list中[]1,2,3],[1,3,2],是两个…