关于C#读写文本文件(.txt)的方法

这篇具有很好参考价值的文章主要介绍了关于C#读写文本文件(.txt)的方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

c# 读取txt,编程语言,C语言,c#,开发语言

读写文本文件其实是件很简单的事情,本文主要给大家介绍了关于C#读写文本文件(.txt)的相关资料,需要的朋友可以参考下

读取txt文件

如果你要读取的文件内容不是很多,可以使用 File.ReadAllText(filePath) 或指定编码方式 File.ReadAllText(FilePath, Encoding)的方法。它们都一次性将文本内容全部读完,并返回一个包含全部文本内容的字符串

1

2

3

string str1 = File.ReadAllText(@"c:\temp\a.txt");

//也可以指定编码方式

string str2 = File.ReadAllText(@"c:\temp\a.txt", Encoding.ASCII);

也可以使用方法File.ReadAllLines,该方法一次性读取文本内容的所有行,返回一个字符串数组,数组元素是每一行的内容

1

2

3

string[] strs1 = File.ReadAllLines(@"c:\temp\a.txt");

// 也可以指定编码方式

string[] strs2 = File.ReadAllLines(@"c:\temp\a.txt", Encoding.ASCII);

当文本的内容比较大时,我们就不要将文本内容一次性读完,而应该采用流(Stream)的方式来读取内容。

.Net为我们封装了StreamReader类,它旨在以一种特定的编码从字节流中读取字符。StreamReader类的方法不是静态方法,所以要使用该类读取文件首先要实例化该类,在实例化时,要提供读取文件的路径。实例化StreamReader类有很多种方式。下面我罗列出几种:

1

2

3

4

5

6

7

8

9

10

11

12

13

StreamReader sR1 = new StreamReader(@"c:\temp\a.txt");

// 同样也可以指定编码方式

StreamReader sR2 = new StreamReader(@"c:\temp\a.txt", Encoding.UTF8);

FileStream fS = new FileStream(@"C:\temp\a.txt", FileMode.Open, FileAccess.Read, FileShare.None);

StreamReader sR3 = new StreamReader(fS);

StreamReader sR4 = new StreamReader(fS, Encoding.UTF8);

FileInfo myFile = new FileInfo(@"C:\temp\a.txt");

// OpenText 创建一个UTF-8 编码的StreamReader对象

StreamReader sR5 = myFile.OpenText();

// OpenText 创建一个UTF-8 编码的StreamReader对象

StreamReader sR6 = File.OpenText(@"C:\temp\a.txt");

初始化完成之后,你可以每次读一行,也可以每次读一个字符 ,还可以每次读几个字符,甚至也可以一次将所有内容全部读完

1

2

3

4

5

6

7

8

9

10

11

12

13

// 读一行

string nextLine = sR.ReadLine();

// 读一个字符

int nextChar = sR.Read();

// 读100个字符

int n = 100;

char[] charArray = new char[n];

int nCharsRead = sR.Read(charArray, 0, n); 

     

// 全部读完

string restOfStream = sR.ReadToEnd();

使用完StreamReader之后,不要忘记关闭它: sR.Close();

假如我们需要一行一行的读,将整个文本文件读完,下面看一个完整的例子:

1

2

3

4

5

6

7

StreamReader sR = File.OpenText(@"C:\temp\a.txt");

string nextLine;

while ((nextLine = sR.ReadLine()) != null)

{

    Console.WriteLine(nextLine);

}

sR.Close();

写入txt文件

写文件和读文件一样,如果你要写入的内容不是很多,可以使用File.WriteAllText方法来一次将内容全部写如文件。如果你要将一个字符串的内容写入文件,可以用File.WriteAllText(FilePath) 或指定编码方式 File.WriteAllText(FilePath, Encoding)方法

1

2

3

4

string str1 = "Good Morning!";

File.WriteAllText(@"c:\temp\test\a.txt", str1);

// 也可以指定编码方式

File.WriteAllText(@"c:\temp\test\a.txt", str1, Encoding.ASCII);

如果你有一个字符串数组,你要把数组的每一个元素作为一行写入文件中,可以用File.WriteAllLines方法

1

2

3

4

string[] strs = { "Good Morning!","Good Afternoon!","Good Evening!"};

File.WriteAllLines(@"c:\temp\a.txt", strs);

// 也可以指定编码方式

File.WriteAllLines(@"c:\temp\a.txt", strs, Encoding.ASCII);

使用File.WriteAllText或File.WriteAllLines方法时,如果指定的文件路径不存在,会创建一个新文件;如果文件已经存在,则会覆盖原文件

当要写入的内容比较多时,同样也要使用流(Stream)的方式写入

.Net为我们封装了StreamWriter类,它以一种特定的编码向字节流中写入字符。StreamWriter类的方法同样也不是静态方法,所以要使用该类写入文件首先要实例化该类,实例化StreamWriter类同样有很多方式:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

// 如果文件不存在,创建文件; 如果存在,覆盖文件

StreamWriter sW1 = new StreamWriter(@"c:\temp\a.txt");

// 也可以指定编码方式, true 是 Appendtext, false 为覆盖原文件

StreamWriter sW2 = new StreamWriter(@"c:\temp\a.txt", true, Encoding.UTF8);

// FileMode.CreateNew: 如果文件不存在,创建文件;如果文件已经存在,抛出异常

FileStream fS = new FileStream(@"C:\temp\a.txt", FileMode.CreateNew, FileAccess.Write, FileShare.Read);

StreamWriter sW3 = new StreamWriter(fS);

StreamWriter sW4 = new StreamWriter(fS, Encoding.UTF8);

// 如果文件不存在,创建文件; 如果存在,覆盖文件

FileInfo myFile = new FileInfo(@"C:\temp\a.txt");

StreamWriter sW5 = myFile.CreateText();

初始化完成后,可以用StreamWriter对象一次写入一行,一个字符,一个字符数组,甚至一个字符数组的一部分

1

2

3

4

5

6

7

8

9

// 写一个字符           

sw.Write('a');

// 写一个字符数组

char[] charArray = new char[100];

sw.Write(charArray);

// 写一个字符数组的一部分(10~15)

sw.Write(charArray, 10, 15);

同样,StreamWriter对象使用完后,不要忘记关闭。sW.Close(); 最后来看一个完整的使用StreamWriter一次写入一行的例子:

1

2

3

4

5

6

7

8

FileInfo myFile = new FileInfo(@"C:\temp\a.txt");

StreamWriter sW = myFile.CreateText();

string[] strs = { "早上好", "下午好" ,"晚上好};           

foreach (var s in strs)

{

    sW.WriteLine(s);

}

sW.Close();

关于C#读写文本文件(.txt)的文章就介绍到这了,希望可以帮到大家。

转自:微点阅读   https://www.weidianyuedu.com文章来源地址https://www.toymoban.com/news/detail-618650.html

到了这里,关于关于C#读写文本文件(.txt)的方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C# File类中的文件读写方法

    C# 提供了多种操作文件的方案, File 类中封装的静态方法,接口封装得比较人性化,隐藏了具体实现的细节,主要包括读取、写入以及追加,这些函数如下 类别 字节读写 字符串列表 字符串 读取 ReadAllBytes ReadAllLines ReadAllText ReadLines 写入 WriteAllBytes WriteAllLines WriteAllText 追加

    2024年02月06日
    浏览(38)
  • C#文件读取的全局配置编程方法

    C#怎样在类库或者应用入口从配置文件读取参数,并作用到全局。 面向对象的程序有很多类库分布在很多cs文件,如何全局起作用。 如何从可读可编辑的文本导入配置。 静态类保存全局变量。 json文件保存,可读。Newtonsoft.json 软件导入方便。 关于newtonsoft开源许可:\\\"Json.NET

    2024年02月14日
    浏览(56)
  • C# 读取Execl文件3种方法

    1.1C#提供的数据连接有哪些         对于不同的.net数据提供者,ADO.NET采用不同的Connection对象连接数据库。这些Connection对我们屏蔽了具体的实现细节,并提供了一种统一的实现方法。 Connection类有四种:SqlConnection,OleDbConnection,OdbcConnection和OracleConnection。 Sqlconnetcion类的对

    2024年02月07日
    浏览(36)
  • python中读取文本文件txt

    文件创建 如果文件不存在就是创建,如果文件存在就是打开操作 文件对象创建 文件读 以下的函数都是文件对象的成员函数 read() 一次性读取文件的所有内容放在一个大字符串中,即存在内存中 readline() 逐行读取文本,结果是一个list readlines() 一次性读取文本的所有内容,结

    2024年02月05日
    浏览(67)
  • C++读取.txt文本文件操作

    用C++读取.txt文本文件步骤如下:定义一个文件流对象、打开文件、读文件、关闭文件。 1.定义文件流对象 涉及文件操作的程序一般都会使用fstream类,所以要在程序开头包含头文件fstream。 一个文件流对象与一个输入文件相关联,定义一个文件流对象infile。 2.打开文件 一般将

    2024年02月11日
    浏览(51)
  • 【uniapp】实现对TXT文本文件的读取和保存下载

    开发一个uniapp项目时,需要实现对文本的读取和保存文件到本地,虽然可以跨平台,但还是有几个平台不受支持的,接下来讲讲怎么兼容处理读写文本文件这个问题。 项目都按照uniapp官方文档说明写,发现此功能对应的 App 和 H5 平台是没有实现的 App H5 微信小程序 QQ小程序

    2024年02月04日
    浏览(46)
  • 技术分享:PHP读取TXT文本内容的五种实用方法

    在Web开发中,我们经常需要读取和处理文本文件。PHP作为一种流行的服务器端脚本语言,提供了多种方法来读取TXT文本内容。本文将介绍五种不同的PHP教程,帮助您学习如何使用PHP读取TXT文本内容。PHP读取文件内容在实际开发当中,还是比较常见的,所以今天我就给大家分享

    2024年01月18日
    浏览(44)
  • C# WPF读取文本内容的7种方式

    C#读取文本内容的7种方式 代码如下(示例): 代码如下(示例): (1)打开文件 (2)第一种:基于FileStream,并结合它的Read方法读取指定的字节数组,最后转换成字符串进行显示。 (3)第二种:基于FileStream,一个字节一个字节读取,放到字节数组中,最后转换成字符串

    2024年02月08日
    浏览(29)
  • Python - 读取pdf、word、excel、ppt、csv、txt文件提取所有文本

    本文对使用python读取pdf、word、excel、ppt、csv、txt等常用文件,并提取所有文本的方法进行分享和使用总结。 可以读取不同文件的库和方法当然不止下面分享的这些,本文的代码主要目标都是:方便提取文件中所有文本的实现方式。 这些库的更多使用方法,请到官方文档中查

    2024年02月13日
    浏览(102)
  • C#文件读写操作 [详细]

    文件是存储在磁盘中的具有特定名称和目录路径的数据集合,当我们使用程序对文件进行读取或写入时,程序会将文件以数据流(简称流)的形式读入内存中。我们可以将流看作是通过通信路径传递的字节序列,流主要分为输入流和输出流,输入流主要用于从文件读取数据(

    2024年01月16日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包