C#编程-实现在文本文件中的读和写

news2025/1/16 20:52:26

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

实现在文本文件中的读和写

Stream类用于从文本文件读取数据和向文本文件写入数据。它是一个抽象类,支持向流读写字节。如果文件的数据仅是文本,那么您可以使用StreamReader类和StreamWriter类来完成相应的读和写任务。


StreamReader类

StreamReader类继承自从抽象类TextReader。TextReader类表示可以读取一系列字符的读程序。

以下代码段实现了StreamReader类:

	FileStream fs = new FileStream("Myfile.txt",FileMode.Open,FileAccess.Read);
	StreamReader sr = new StreamReader(fs);
	sr.BaseStream.Seek(0,SeekOrigin.Begin);
	string str = sr.ReadLine();

在上述代码段中,Seek()方法允许在文件内将读/写位置移动到任何位置。该方法由两个参数,一个字节位置和一个引用点。字节位置是相对于引用点的。这些引用点由SeekOrigin类的属性表示。
各种引用点有:

  1. Begin:提供搜寻引用位置作为流的开始。
  2. Current:提供搜寻引用位置作为流中的当前位置和引用点。
  3. End:提供搜寻引用位置作为流的结束。

下表描述了StreamReader类的一些常用方法。

方法 描述
Close() 关闭StreamReader类的对象和流,并且释放与读程序相关的所有系统资源
Peek() 返回下一个可用的字符当不使用它
Read() 从流中读取下一个字符或下一个字符集
ReadLine() 从当前流读取一行字符,并且将数据作为字符串返回
Seek() 允许在文件内将读/写位置移动到任何位置

以下代码实现StreamReader类来从文件读取数据:

	using System;
	using System.IO;
	class FileRead
	{
   
		public void ReadData()
		{
   
			FileStream fs = new FileStream("Myfile.txt",FileMode.Open,FileAccess.Read);
			StreamReader sr = new StreamReader(fs);
			//Position the file pointer at the begginning of the file
			sr.BaseStream.Seek(0,SeekOrign.Begin);
			//Read till the end of the file is encountered
			string str = sr.ReadLine();
			while ( str != null )
			{
   
				Console.WriteLine("{0}",str);
				str = sr.ReadLine();
			}
			//close the writer and file
			sr.Close();
			fs.Close();
		}
		public static 

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

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

相关文章

扩展边界opencv

扩展图像的边缘(如上边增加50像素)通常是通过添加额外的像素行来实现的 使用cv2.copyMakeBorder函数 valueborder_color指定了边框的颜色 import cv2 import numpy as np# 读取图像 image cv2.imread(th.jpg)# 设置边框宽度 top_border_width 50 # …

三、nginx代理功能

目录 SQUID代理服务器配置安装squid编辑squid配置文件 定义拒绝访问启动squid服务 linux客户端配置linux客户端配置正向代理测试http代理服务器上查看日志/var/log/squid/access.log windows 也可以配置网页代理 SQUID代理服务器配置 安装squid yum install squid -y 编辑squ…

Hive基础知识(六):Hive 配置运行日志信息、打印当前库和表头、参数配置方式

1. Hive 运行日志信息配置 1)Hive 的 log 默认存放在/tmp/atguigu/hive.log 目录下(当前用户名下) 2)修改 hive 的 log 存放日志到/opt/module/hive/logs (1)修改/opt/module/hive/conf/hive-log4j2.prop…

【GNN 1】PyG实现图神经网络,完成节点分类任务,人话、保姆级教程

我们来做一个节点分类的任务,选择的数据集是Karate Club,Karate是空手道的意思,所以这就是一个空手道俱乐部的数据。 简而言之,这个数据集,包含34个节点,156条无向无权边,结点总共分为4类&…

AI绘画:Midjournety的使用体验

今天的时间少,没有给大家做一些教程,就单纯分享使用体验,还不错,体验感很好。 后需如果有需要,我可以出一些教程类的视频。 下面是一组复刻fated的saber的一组提示词,效果相当不错。我后续会分享一些学习经…

uniapp自定义顶部导航并解决打包成apk后getMenuButtonBoundingClientRect方法失效问题

需求:要在app上的顶部导航提示哪里添加一些东西进去,用uniapp自带的肯定不行啊,所以自定义了所有的页面的顶部导航,之后自定义后用手机调试发现 uni.getMenuButtonBoundingClientRect()这个方法的top获取不到....网上找了很多种方…

基于 InternLM 和 LangChain 搭建你的知识库

基于 InternLM 和 LangChain 搭建你的知识库 大模型开发范式LLM的局限性:RAG 检索增强生成 LangChain简介构建向量数据库搭建知识库助手Web Demo部署环境配置下载 NLTK 相关资源下载本项目代码 大模型开发范式 LLM的局限性: 知识实效性受限&#xff1a…

模型\视图一般步骤:为什么经常要用“选择模型”QItemSelectionModel?

一、“使用视图”一般的步骤: //1.创建 模型(这里是数据模型!) tabModelnew QSqlTableModel(this,DB);//数据表 //2.设置 视图的模型(这里是数据模型!) ui->tableView->setModel(tabModel); 模型种类: QStringListModel…

vue element plus Typography 排版

我们对字体进行统一规范,力求在各个操作系统下都有最佳展示效果。 字体# 字号# LevelFont SizeDemoSupplementary text12px Extra SmallBuild with ElementBody (small)13px SmallBuild with ElementBody14px BaseBuild with ElementSmall Title16px MediumBuild w…

了解不同方式导入导出的速度之快

目录 一、用工具导出导入 Navicat(速度慢) 1.1、导入: 共耗时: 1.2、导出表 共耗时: 二、用命令语句导出导入 2.1、mysqldump速度快 导出表数据和表结构 共耗时: 只导出表结构 导入 共耗时&…

Linux 网络层收发包流程及 Netfilter 框架浅析

1. 前言 本文主要对 Linux 系统内核协议栈中网络层接收,发送以及转发数据包的流程进行简要介绍,同时对 Netfilter 数据包过滤框架的基本原理以及使用方式进行简单阐述。 内容如有理解错误而导致说明错误的地方,还请指正。如存在引用而没有添…

怎样的摆渡系统,能实现安全可管控的跨网数据传输?

大数据时代,数据在流通与传输的过程中,更需要注意到数据的安全防护,护航数据价值。“让数据主宰一切的隐忧”,数字战争的时代,各国早已认识到网络安全愈发重要,数据也成为各国发展的重要武器。 出于安全性和…

vmware虚拟机内存异常占用问题一例

关键词 vmware esxi、hypervisor虚拟化平台内存模式 Guest virtual memory 一、问题现象 业务一台vmware虚拟机出现内存使用率告警,运维人员登录系统检查内存确实高水位状态 检查各进程使用内存不高,合计内存总数与使用率占用情况明显不匹配&#xf…

面试题:什么是雪花算法?啥原理?

SnowFlake 算法,是 Twitter 开源的分布式 ID 生成算法。 其核心思想就是:使用一个 64 bit 的 long 型的数字作为全局唯一 ID。在分布式系统中的应用十分广泛,且 ID 引入了时间戳,基本上保持自增的,后面的代码中有详细…

Bert-vits2最终版Bert-vits2-2.3云端训练和推理(Colab免费GPU算力平台)

对于深度学习初学者来说,JupyterNoteBook的脚本运行形式显然更加友好,依托Python语言的跨平台特性,JupyterNoteBook既可以在本地线下环境运行,也可以在线上服务器上运行。GoogleColab作为免费GPU算力平台的执牛耳者,更…

密钥管理机制如何进行工作

密钥管理机制是信息安全领域中一个至关重要的环节,其目标是确保密钥的安全传输、存储和使用,从而保障整个系统的安全性和可靠性。在实际工作中,密钥管理机制涉及到多个方面的技术和方法,下面将详细介绍其工作原理和过程。 密钥管理…

linux(ubuntu)中crontab定时器命令详解 以及windows中定时器

linux(ubuntu)中crontab定时器命令详解 crontab 是一个用于创建、编辑和管理用户的定时任务的命令,它可以让用户在指定的时间自动执行指定的命令或脚本。 基本语法 -e:编辑用户的 crontab 文件;-l:列出用…

万界星空科技家具制造业MES系统解决方案

家具行业专业化生产和信息化管理程度较低。随着企业规模的迅速扩大,家具行业中用现有的凭手工发放图纸、制作bom、发放工艺说明文件越来越难以适应现代家具行业、已经成为家具行业快速发展的瓶颈。必须通过实施万界星空科技MES生产管理软件,实现部门之间…

【51单片机】延时函数delay的坑——关于无符号整型数据for语句“x >= 0“变成死循环

请认真看看以下延时函数是否正确,并且指出错误:(考考C语言功底) void delay_ms(unsigned int xms) //delay x ms {unsigned int x,y;for(xxms;x>0;x--)for(y124;y>0;y--); }废话少说,上正确代码: v…