C#WPF中的实现读取和写入文件的几种方式
说明:C#中实现读取和写入的类根据需要来选择。
1、File类
File类是用于操作文件的工具类,提供了对文件进行创建、复制、删除、移动和打开单一文件的静态方法。但需要注意的是,WPF中使用File的类,需要先引用System.IO下的命名空间。以下是System.IO中File类的一些主要方法和属性:
1.1 ReadAllText读取文件
通过调用File类的ReadAllText方法,可以直接将指定文件的所有文本内容读取到一个字符串中。
using System.IO;//读取文本
string filePath = @"C:\Users\Administrator\Desktop\1.txt";
string content = File.ReadAllText(filePath);
Console.WriteLine(content);
1.2 WriterAllText写入文件
通过调用File类的WriteAllText方法,可以将指定的文本内容写入到文件中,如果文件已存在则会覆盖原有内容。
using System.IO;//吸入文本
string filePath = @"C:\Users\Administrator\Desktop\1.txt";
string content = "这是一段要写入文件的文本。";
File.WriteAllText(filePath, content);
1.3 Create 创建文件
通过调用File类的Create方法可以创建一个新的文件,然后关闭文件流以确保文件资源被释放。
using System.IO;string filePath = @"C:\Users\Administrator\Desktop\2.txt";
if (File.Create(filePath).Close())
{Console.WriteLine("文件创建成功");
}
else
{Console.WriteLine("文件创建失败");
}
1.4 查阅Fille类其他的方法
更多方法见官方使用说明:File 类 (System.IO) | Microsoft Learn
2、StreamWriter文本写入
System.IO.StreamWriter是C#中的一个类,用于将文本写入到文件中。它提供了一些方法来设置文件的编码、缓冲区大小等属性,以及一些方法来写入文本和关闭文件。
以下是一些主要的方法和属性:
-
构造函数:StreamWriter(string path) - 创建一个StreamWriter对象,用于将文本写入到指定的文件中。
-
Write(string text) - 将指定的字符串写入到文件中。
-
WriteLine(string text) - 将指定的字符串写入到文件中,并在末尾添加一个换行符。
-
Flush() - 清空缓冲区,并将数据写入到文件中。
-
Close() - 关闭文件,并释放与该文件关联的所有资源。
-
AutoFlush - 一个布尔值,表示是否在每次调用Write或WriteLine方法时自动刷新缓冲区。默认值为true。
-
Encoding - 一个Encoding对象,表示要使用的字符编码。默认值为System.Text.Encoding.Default。
-
IndentSize - 一个整数,表示缩进的大小。默认值为0。
-
NewLine - 一个字符串,表示新行的字符。默认值为"
using System;
using System.IO;class Program
{static void Main(){// 创建一个StreamWriter对象,用于将文本写入到"output.txt"文件中using (StreamWriter writer = new StreamWriter("output.txt")){// 写入一行文本writer.WriteLine("Hello, World!");// 写入多行文本writer.WriteLine("This is a test.");writer.WriteLine("StreamWriter is useful for writing text to files.");// 刷新缓冲区,并将数据写入到文件中writer.Flush();}}
}
3、StreamReader 读取文本
System.IO.StreamReader是C#中的一个类,用于从文件中读取文本。它提供了一些方法来设置文件的编码、缓冲区大小等属性,以及一些方法来读取文本和关闭文件。
以下是一些主要的方法和属性:
-
构造函数:StreamReader(string path) - 创建一个StreamReader对象,用于从指定的文件中读取文本。
-
Read() - 读取一个字符,并返回其Unicode值。如果已经到达文件末尾,则返回-1。
-
ReadLine() - 读取一行文本,直到遇到换行符或文件末尾。
-
Close() - 关闭文件,并释放与该文件关联的所有资源。
-
AutoClose - 一个布尔值,表示是否在读取完文件后自动关闭文件。默认值为true。
-
Encoding - 一个Encoding对象,表示要使用的字符编码。默认值为System.Text.Encoding.Default。
-
BaseStream - 一个Stream对象,表示底层的流。可以通过这个属性访问底层的流,例如FileStream或MemoryStream。
using System;
using System.IO;class Program
{static void Main(){// 创建一个StreamReader对象,用于从"input.txt"文件中读取文本using (StreamReader reader = new StreamReader("input.txt")){// 读取一行文本string line = reader.ReadLine();while (line != null){Console.WriteLine(line);line = reader.ReadLine();}}}
}
相关文章:

C#WPF中的实现读取和写入文件的几种方式
说明:C#中实现读取和写入的类根据需要来选择。 1、File类 File类是用于操作文件的工具类,提供了对文件进行创建、复制、删除、移动和打开单一文件的静态方法。但需要注意的是,WPF中使用File的类,需要先引用System.IO下的命名空间。…...

如何利用自动发现将现网的进程纳入到监控系统中?
进程监控是一项关键任务,旨在监测系统中运行的进程的性能和状态。通过有效的进程监控,可以实时了解进程的运行情况,及时发现问题并采取措施,确保系统的稳定性和性能。 本期EasyOps产品使用最佳实践,我们将为您揭晓&am…...
英语学习(过去篇)
一、询问别人一周的情况 1.日常活动词汇 1)I watched TV 我看了电视 2)I ate breakfast 我吃了早餐 3)I left the house 我离开了家 4)I did the dishes 我洗了碗 5)I washed my clothes …...

excel中通过ROW函数返回引用的行号
例如,想引用B3的行号(行号应该是3): 鼠标点在想输入函数的单元格: 插入-》函数: 选择ROW函数: 点击“继续”,然后点击红框圈出来的按钮: 鼠标点击B3单元格&…...

spring学习笔记-IOC,AOP,事务管理
目录 概述 什么是spring 侵入式的概念 spring的核心 spring的优势 注意 IOC控制反转 概述 核心 容器 DI,dependency injection依赖注入 概念 注入方式 循环依赖 spring如何解决循环依赖 spring生成Bean的方式 Bean属性注入(Bean属性赋值…...

MYSQL中的触发器TRIGGER
1.概念 触发器是一个特殊的存储过程,当触发器保护的数据发生变更时就会触发。 2.特性 1.触发器与表息息相关,一般我们一个表创建六个触发器。 2.六个触发器其实是三种类六个 insert 类型 before | after insertupdate 类型 before | af…...

用人话讲解深度学习中CUDA,cudatookit,cudnn和pytorch的关系
参考链接 本人学习使用,侵权删谢谢。用人话讲解深度学习中CUDA,cudatookit,cudnn和pytorch的关系 CUDA CUDA是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,是一种并行计算平台和编程模型&…...

【JavaEE】Servlet API 详解(HttpServletRequest类)
一、HttpServletRequest Tomcat 通过 Socket API 读取 HTTP 请求(字符串), 并且按照 HTTP 协议的格式把字符串解析成 HttpServletRequest 对象(内容和HTTP请求报文一样) 1.1 HttpServletRequest核心方法 1.2 方法演示 WebServlet("/showRequest&…...
HTML页面的全屏显示及退出全屏案例
进入全屏 requestFullscreen 接收一个参数 options(可选), options 是一个对象, 但是只有一个字段 navigationUI, 用于控制是否在元素处于全屏模式时显示导航条. 可选值为 auto, hide, show, 默认值为 auto;当元素不在文档内时, 调用requestFullScreen回失败。 退出…...
layui弹出层点回车键无限弹出解决
$(document).keydown(function (event) {if (event.keyCode 13) {$("*").blur();//去掉焦点if ($(".layui-layer-btn0").length > 0)layer.closeAll();}});...

抖音测试付费短视频:从短剧领域拓展到知识、娱乐全品类
11月16日,抖音开始测试短视频内容付费,即用户在观看创作者的内容时,部分内容需要付费解锁才能全部观看,涉及范围不仅包括此前已经进行付费试水的短剧领域,还拓展至知识、娱乐等几乎全品类内容,用户可按单条…...

代码随想录算法训练营第五十五天 | LeetCode 583. 两个字符串的删除操作、72. 编辑距离、编辑距离总结
代码随想录算法训练营第五十五天 | LeetCode 583. 两个字符串的删除操作、72. 编辑距离、编辑距离总结 文章链接:两个字符串的删除操作、编辑距离、编辑距离总结 视频链接:两个字符串的删除操作、编辑距离 1. LeetCode 583. 两个字符串的删除操作 1.1 思…...

Excel vlookup 如何使用
Excel vlookup 如何使用 打开WX, 搜索 “程序员奇点” Excel vlookup可以说是利器,非常好用的工具,用来查询 Excel 或者进行数据匹配,十分方便。 VLookuP 如何使用,不常用的同学经常容易忘记,这次做个记录ÿ…...

Latex常用特殊字符汇总
本文汇总了博主在使用Latex写文档过程中遇到的所有常用疑难字符、表达式等等及对应的Latex形式 持续更新... 目录 常用字符波浪号1. 文本模式:~2. 数学模式: ∼ \sim ∼3. 字母上方的波浪号: a ˜ \~a a˜ 字母上方角标 (数学模式强调符)箭头…...

Day1跟李沐学AI-深度学习课程00-04【预告、课程安排、深度学习介绍、安装、数据操作+数据预处理】
00 预告 《动手学深度学习》https://github.com/d2l-ai/d2l-zh 01 课程安排 02 深度学习介绍 03 安装 本地安装 使用conda/miniconda环境 conda env remove d2l-zh conda create -n -y d2l-zh python3.8 pip conda activate d2l-zh 安装需要的包 pip install -y jupyter …...

借助拧紧曲线高效管理螺栓装配防错——SunTorque智能扭矩系统
拧紧曲线作为拧紧质量的“晴雨表”,在拧紧过程中,能够实时探知到拧紧状态是否存在异常,并根据曲线特质推测出拧紧过程中遇到了什么样的问题,今天SunTorque智能扭矩系统带您了解拧紧曲线在螺栓装配防错管理中如何发挥作用。 合格的…...

李开复再度回应争议;10 月中国游戏厂商及应用出海收入 30 强出炉丨 RTE 开发者日报 Vol.86
开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE (Real Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有…...
mysql undolog
undolog 日志介绍...
milvus数据库-管理数据库
一个 Milvus 集群最多支持 64 个数据库。 1.创建数据库 先连接数据库服务器,再创建 from pymilvus import connections, dbconn connections.connect(host"127.0.0.1", port19530)database db.create_database("book")2.连接数据库 可以改变…...

一键整合,万用万灵,Python3.10项目嵌入式一键整合包的制作(Embed)
我们知道Python是一门解释型语言,项目运行时需要依赖Python解释器,并且有时候需要安装项目中对应的三方依赖库。对于专业的Python开发者来说,可以直接通过pip命令进行安装即可。但是如果是分发给其他的Windows用户,特别是不熟悉Py…...

Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...

2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...