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

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#中的一个类,用于将文本写入到文件中。它提供了一些方法来设置文件的编码、缓冲区大小等属性,以及一些方法来写入文本和关闭文件。

以下是一些主要的方法和属性:

  1. 构造函数:StreamWriter(string path) - 创建一个StreamWriter对象,用于将文本写入到指定的文件中。

  2. Write(string text) - 将指定的字符串写入到文件中。

  3. WriteLine(string text) - 将指定的字符串写入到文件中,并在末尾添加一个换行符。

  4. Flush() - 清空缓冲区,并将数据写入到文件中。

  5. Close() - 关闭文件,并释放与该文件关联的所有资源。

  6. AutoFlush - 一个布尔值,表示是否在每次调用Write或WriteLine方法时自动刷新缓冲区。默认值为true。

  7. Encoding - 一个Encoding对象,表示要使用的字符编码。默认值为System.Text.Encoding.Default。

  8. IndentSize - 一个整数,表示缩进的大小。默认值为0。

  9. 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#中的一个类,用于从文件中读取文本。它提供了一些方法来设置文件的编码、缓冲区大小等属性,以及一些方法来读取文本和关闭文件。

以下是一些主要的方法和属性:

  1. 构造函数:StreamReader(string path) - 创建一个StreamReader对象,用于从指定的文件中读取文本。

  2. Read() - 读取一个字符,并返回其Unicode值。如果已经到达文件末尾,则返回-1。

  3. ReadLine() - 读取一行文本,直到遇到换行符或文件末尾。

  4. Close() - 关闭文件,并释放与该文件关联的所有资源。

  5. AutoClose - 一个布尔值,表示是否在读取完文件后自动关闭文件。默认值为true。

  6. Encoding - 一个Encoding对象,表示要使用的字符编码。默认值为System.Text.Encoding.Default。

  7. 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 如何使用,不常用的同学经常容易忘记,这次做个记录&#xff…...

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…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage)&#xff1a…...

python打卡day49

知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

进程地址空间(比特课总结)

一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

【python异步多线程】异步多线程爬虫代码示例

claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...

Element Plus 表单(el-form)中关于正整数输入的校验规则

目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入&#xff08;联动&#xff09;2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

DingDing机器人群消息推送

文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人&#xff0c;点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置&#xff0c;详见说明文档 成功后&#xff0c;记录Webhook 2 API文档说明 点击设置说明 查看自…...