读取、写入、生成txt文本文档详解——C#学习笔记

news2024/9/20 22:48:47

一、4中写入文本的方式:

  //①表示清空 txt
  StreamWriter mytxt1 = new StreamWriter("D:\\1清空.txt");
  string t1 = "";
  mytxt1.Write(t1);
  mytxt1.Close();
  //②表示向txt写入文本
  StreamWriter mytxt2 = new StreamWriter("D:\\2写入覆盖.txt");
  string t2 = "已写入覆盖";
  mytxt2.Write(t2);
  mytxt2.Close();

//字符串写入文本,若文件存在则覆盖文件
System.IO.File.WriteAllText(@"C:\Users\Administrator\Desktop\写入新建文本文档.txt", text);
  //③表示追加文本
  StreamWriter mytxt3 = File.AppendText("D:\\3追加.txt");
  string t3 = "追加文字";
  mytxt3.Write(t3);
  mytxt3.Close();
  //④表示追加一行文本并换行
  StreamWriter mytxt4 = File.AppendText("D:\\4追加换行.txt");
  string t4 = "追加换行";
  mytxt4.WriteLine(t4);
  mytxt4.Close();

二、读取文本的方式

 ①将txt文件当成一个对象

StreamReader mytxt2 = new StreamReader("D:\\2写入覆盖.txt"); 

mytxt2.ReadToEnd//读取所有字符到结尾

 mytxt2.ReadLine();  //读取文本中的一行

按行读取内容可通过while(读取行不为空)依次取出。

System.IO.StreamReader file =
    new System.IO.StreamReader(@"d:\4追加换行.txt");
while ((line = file.ReadLine()) != null)
{
    System.Console.WriteLine(line);
    counter++;
}

file.Close();

②txt的路径作为一个字符串参数,File对象调用方法的一个参数,通过此方法返回字符串。

// 读取所有文本内容。Read the file as one string.
string text = System.IO.File.ReadAllText(@"C:\Users\Administrator\Desktop\新建文本文档.txt");

下图可知,已读取文本文件所有内容,并赋值给字符串text。

③读取文本内容放入数组中

string[] lines = System.IO.File.ReadAllLines(@"C:\Users\Administrator\Desktop\新建文本文档2.txt");

string[] lines = System.IO.File.ReadAllLines(@"C:\Users\Administrator\Desktop\新建文本文档2.txt");

下图可知,读取文本文件所有内容并放入lines字符串数组中,共54个item(0-53)(行)。

逐个读取数组中文本,可用for each 语句

StreamWriter mytxt4 = File.AppendText("D:\\4追加换行.txt");

 foreach (string line in lines)
 {

     mytxt4.WriteLine(line);

}

StreamWriter mytxt4 = File.AppendText("D:\\4追加换行.txt");

 foreach (string line in lines)
 {

     mytxt4.WriteLine(line);

}

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp0905
{
    static class Mytext { 
    static void Main()
    {
            //①表示清空 txt
            StreamWriter mytxt1 = new StreamWriter("D:\\1清空.txt");
            string t1 = "";
            mytxt1.Write(t1);
            mytxt1.Close();
            //②表示向txt写入文本
            StreamWriter mytxt2 = new StreamWriter("D:\\2写入覆盖.txt");
            string t2 = "已写入覆盖";
            mytxt2.Write(t2);
            mytxt2.Close();
            //③表示追加文本
            StreamWriter mytxt3 = File.AppendText("D:\\3追加.txt");
            string t3 = "追加文字";
            mytxt3.Write(t3);
            mytxt3.Close();
            //④表示追加一行文本并换行
            StreamWriter mytxt4 = File.AppendText("D:\\4追加换行.txt");
            string t4 = "追加换行";
            mytxt4.WriteLine(t4);
            mytxt4.Close();
            System.Console.ReadKey();
    }
    }
}

以下为调试代码:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp0905
{
    static class Mytext { 
    static void Main()
    {
        // The files used here were created in the code example
        // in How to: Write to a Text File. You can of course substitute
        // other files of your own.

        // Example #1
        // 读取所有文本内容。Read the file as one string.
        string text = System.IO.File.ReadAllText(@"C:\Users\Administrator\Desktop\新建文本文档.txt");
            StreamWriter mytxt1 = new StreamWriter("D:\\1清空.txt");
         
            // Display the file contents to the console.
            System.Console.WriteLine("Contents of writeText.txt = {0}", text);
           
        //字符串写入文本,若文件存在则覆盖文件
        System.IO.File.WriteAllText(@"C:\Users\Administrator\Desktop\写入新建文本文档.txt", text);
            // 按行读取文本,存在字符串数组中。Read the file lines into a string array.
            string[] lines = System.IO.File.ReadAllLines(@"C:\Users\Administrator\Desktop\新建文本文档2.txt");
            System.Console.WriteLine("Contents of writeLines2.txt =:");
            StreamWriter mytxt4 = File.AppendText("D:\\4追加换行.txt");
            foreach (string line in lines)
            {

                mytxt4.WriteLine(line);

                //    }
                //using (System.IO.StreamWriter filew = new System.IO.StreamWriter(@"C:\Users\Administrator\Desktop\写入新建文本文档2.txt"))
                //{ 
                //    foreach (string line in lines)
                //    {
                //    //"\t"水平制表符
                //     Console.WriteLine("\t" +line );
                //        //这个也会覆盖原始文件
                //     filew.WriteLine(line);

                //    }
            }
            // Keep the console window open in debug mode.
            Console.WriteLine("Press any key to exit.");
        System.Console.ReadKey();
    }
    }
}

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

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

相关文章

用HTML写一个动态的的电子相册实战详细案例

效果展示&#xff1a;&#x1f447; 详细代码&#xff1a; 1、新建一个.html文件 2、然后将下面的内容复制到 动态相册.html里面 <!DOCTYPE html> <html> <head><title>图片轮播效果</title><style>.container {position: relative;wi…

Pyspark下操作dataframe方法(1)

文章目录 Pyspark dataframe创建DataFrame使用Row对象使用元组与scheam使用字典与scheam注意 agg 聚合操作alias 设置别名字段设置别名设置dataframe别名 cache 缓存checkpoint RDD持久化到外部存储coalesce 设置dataframe分区数量collect 拉去数据columns 获取dataframe列 Pys…

【如何用远程连接到ubuntu服务器上的redis】

文章目录 ubuntu上安装redis常用命令 远程连接测试在另一台PC上进行远程访问 ubuntu上安装redis Redis 5.0 被包含在默认的 Ubuntu 20.04 软件源中。想要安装它&#xff0c;以 root 或者其他 sudo 身份运行下面的命令&#xff1a; sudo apt update //更新apt sudo apt inst…

全视通精彩亮相宁夏养老服务业博览会,助力西北地区养老产业高质量发展

据悉&#xff0c;今年4月&#xff0c;宁夏被列入48个全国基本养老服务综合平台试点地区&#xff0c;是全域申报成功的8个省&#xff08;直辖市&#xff09;之一&#xff0c;也是西北唯一的入选省份。5月&#xff0c;中卫市成功入选2024年居家和社区基本养老服务提升行动项目地区…

多智能体强化学习:citylearn城市建筑能量优化和需求响应

今天分享一个用于能量优化的强化学习框架&#xff0c;citylearn 代码量非常庞大&#xff0c;我都不敢看&#xff0c;看也看不完&#xff0c;不花一定的时间难以搞懂它的原理。 CityLearn&#xff08;CL&#xff09;环境是一个类似 OpenAI Gym 的环境&#xff0c;它通过控制不…

网络安全服务基础Windows--第10节-FTP主动与被动模式

概述 将某台计算机中的⽂件通过⽹络传送到可能相距很远的另⼀台计算机中&#xff0c;是⼀项基本的⽹络应⽤&#xff0c;即⽂件传送。 ⽂件传送协议FTP &#xff08;File Transfer Protocol&#xff09;是因特⽹上使⽤得最⼴泛的⽂件传送协议。 FTP是⼀个⽼早的⽹络协议&…

图形几何-如何将凹多边形分解成若干个凸多边形

凹多边形的概念 凹多边形是指至少有一个内角大于180度的多边形。与之相对&#xff0c;凸多边形的所有内角均小于或等于180度&#xff0c;且任意两点之间的连线都完全位于多边形内部。将凹多边形分解成若干个凸多边形是计算几何中的一个重要问题。 分解原理 将凹多边形分解为凸…

Python【3】乌七八糟

目录 if __name__ "__main__ 模块名————__name__ 装饰器 参数的优化——可以接受任何函数 需要添加自定义参数——再套一层 语法糖——好甜&#xff01; 类init self if __name__ "__main__ 在Python中&#xff0c;if __name__ "__main__"…

再谈全排列

题目链接&#xff1a; . - 力扣&#xff08;LeetCode&#xff09; 每次做全排列的题目&#xff0c;我都要孕育好一阵子&#xff0c;到底怎么去思考这个问题呢&#xff1f; 首先&#xff0c;我觉得最好的方式就是画个树。 画了树之后&#xff0c;你就知道&#xff0c;这个问题&…

鸿蒙轻内核M核源码分析系列五 时间管理

往期知识点记录&#xff1a; 鸿蒙&#xff08;HarmonyOS&#xff09;应用层开发&#xff08;北向&#xff09;知识点汇总 持续更新中…… 在鸿蒙轻内核源码分析上一篇文章中&#xff0c;我们剖析了中断的源码&#xff0c;简单提到了Tick中断。本文会继续分析Tick和时间相关的源…

多所高校拟撤销地理、测绘、建筑等相关专业!网友:游了很久,发现没有岸!

近日&#xff0c;各大高校频频传来专业“下线”的消息。多所高校拟撤销地理、测绘等相关专业。对此很多网友破防了&#xff0c;表示&#xff1a;还没毕业&#xff0c;专业没了&#xff1f; 更有城乡规划的网友表示&#xff1a;自己已经成为怨种毕业生&#xff0c;游了很久&…

公司数字化转型的目的是什么?

不同行业公司&#xff0c;其数字化转型的目的也不一样。下面我列举几个行业&#xff0c;给大家讲讲其数字化转型的真正目的。 制造数字化转型 制造业来说&#xff0c;数字化转型的本质是通过新一代信息技术与制造技术的融合&#xff0c;实现以数据为核心的资源要素变革、以网络…

【8.28更新】Win10 22H2 正式版:19045.4842镜像下载!

今日系统之家小编给大家带来2024年最新的Windows10 22H2正式版系统&#xff0c;该版本系统基于微软官方Windows 10 22H2 19045.4842 64位 专业版进行离线制作与优化&#xff0c;系统安全无任何病毒残留&#xff0c;且兼容性出色&#xff0c;能完美兼容新老机型。安装后&#xf…

一大波华为“黑”正在赶来

文&#xff5c;琥珀食酒社 作者 | 积溪 不管你信不信 我都敢肯定的告诉你 又一波黑华为的浪潮 将在下周到来 因为下周二 也就是9月10号 华为将发布一款划时代的产品 华为MateXT非凡大师 三折叠屏手机 就我现在得到的情况 这款手机最大的特点 就是先进 余承东都说…

SRT协议分析以及收拉流测试

文章目录 介绍协议概述协议常用URL格式协议工作流程协议包格式数据包和控制包数据包控制包ACKNACK 开源协议栈libSRTFFmpegVLC Media PlayerSRT AllianceSRS 测试使用ffmpegsrs推流端接收端播放端srs配置 使用 libSRT发送端接收端 介绍 SRT&#xff08;Secure Reliable Transpo…

力扣: 有效的字母异位词

文章目录 需求数组map结尾 需求 给定两个字符串 s 和 t &#xff0c;编写一个函数来判断 t 是否是 s 的字母异位词。 字母异位词 是通过重新排列不同单词或短语的字母而形成的单词或短语&#xff0c;通常只使用所有原始字母一次。 示例 1: 输入: s “anagram”, t “nagaram…

9、类和对象

9.1 封装 9.1.1 封装的例子 class Student { public:string name;int age; public:void setName(string name_) {name name_;} }; int main() {Student s1;s1.setName("zhangsan");return 0; }类中的行为都叫做成员&#xff0c;例如成员属性&#xff0c;成员变量&…

磁吸轨道灯的优缺点深度解析:为你的家居照明提供新选择

在现代家居装修中&#xff0c;照明设计已成为提升居住品质的重要一环。磁吸轨道灯作为一种新兴的照明解决方案&#xff0c;以其独特的灵活性和美观性逐渐受到市场的青睐。然而&#xff0c;任何产品都有其两面性&#xff0c;磁吸轨道灯也不例外。本文将深入探讨磁吸轨道灯的优缺…

产品起名|给你的产品插上会飞的翅膀

引言&#xff1a;在品牌的世界里&#xff0c;产品的名字不仅仅是一个标签&#xff0c;它是品牌个性、价值和承诺的直接体现。一个好的产品名能够快速传达产品特性&#xff0c;吸引消费者&#xff0c;并在市场中建立独特的品牌形象。 好产品从起名开始 品牌介绍&#xff1a;南京…

使用卫星仿真软件STK的一些应用和思考(星地链路、星间链路)

目录 任务描述利用STK建模星地协同系统3个GEO高轨卫星240/20/1 Walker-Star Constellation 低轨卫星星座地面站或者地面设备 链路建模与数据提取处理星地链路星间链路数据读取的几种方法最麻烦的方法使用Matlab与STK互联接口使用大规模使用Chain 总结 任务描述 在一个星地协同…