10 在C#中读取文件

我们在前一个练习中已经了解了如何在C#控制台程序(console)中读取用户的输入。现在我们要学习如何从一个文件中读取内容。在下面的练习中,你要格外小心。关于文件的操作,一不小心会损失你的重要文件。

在这个练习中我们首先要创建一个纯文本文件ex10_sample.txt 放到c盘的Exercise10目录下。通常c盘下是没有Exercise10目录的,请先建立这个目录。我们的C#程序会读取这个纯文本文件的内容如果你不知道如何创建纯文本文件,请首先在网上查一下。如果查不到,可以联系我哦。

这个文件的内容如下:

  1. 这是我用c#读取的第一个文件

  2. 我和David学习C#,感觉进步很快

  3. 我想介绍我的朋友也和David学习C#

我们想实现的功能是用我们的程序打开一个文件,然后把它的内容输出出来。但是我们不想把文件的名字ex10_sample.txt写死在程序里边。我们想在程序运行的时候,让用户输入要打开的文件的名字。

你创建一个项目。解决方案名称为Sloution10,项目名称为Exercise10,项目类型为控制台程序。

点击Program.cs. 在Main方法中加入这些代码。

 在这个新的程序中,我们引入一些对我们来说很新的功能。我在这里给大家介绍一下。

15,16行代码:让用户输入要打开的文件名称。文件我们要求放在c盘的exercise10目录下。

20, 21行代码:把文件的目录名称和文件名称连接在一起,组成一个完成的文件路径名称。这样我们的程序才能找到这个文件

23行码:使用C#的File类判断用c盘的exercise10目录下用户指定的文件,是否存在。File.Exists()是File的一个方法,它用文件的完整路径路径名称作为参数,判断该文件是否存在。

这里给大家介绍一个新的语法 if, else

if (判断条件)

{ 判断条件为真要执行的代码}

else

{ 判断条件为假要执行的代码}

如果判断问真,就是true时,则执行 {判断条件为真要执行的代码};如果判断条件为假,则执行{ 判断条件为假要执行的代码}

25行代码:将文件中的内容全部读出来,赋值给一个字符串。当文件很大时,这种方法需要占用很大的内存空间。还有其他一行一行读取文件内容的方法,你可以在网上查一下。如果找不到,可以联系我哦。

27行代码: 将字符串中的内容输出到dos窗口中。

30,34代码:文件名如果用户提供的不对,就会找到文件。在我们的程序里我们会在dos窗口输出一句话,提示用户文件找不到。

运行结果

练习

  1. 为每一条语句加上注释,解释它的功能。如果不明白,可以现在网上查询。找不到,记得咨询我。

  2. 你自己创建一个新的文本文件和office word文件放在c盘的exercise10目录下,用你的程序打开它们。

  3. C#中还有其他读取文件的方法,试着用其他方法读取一下文件

  4. 试着理解一下文件编码的概念。在网上搜索一下吧。

  5. 如果不指定File.ReadAllText()的编码格式为Encoding.Default。你可以删掉25行File.ReadAllText()的第二个参数Encoding.Default,看一下,文件的内容还会正常显示吗?


付费解答C#入门学习过程中碰到的各种问题。

零基础学习C#入门,大多数的问题都可以通过自学或借助互联网解决。

但是还是会有一些问题,不是那么容易解决,成为了你学习的绊脚石。最后甚至造成你学习的半途而废。通常学习C#编程入门,你会遇到20到30多个你不能很容易解决的问题。

这个时候,你最需要什么呢?

对!一个专业的老师给你帮助!

你在学习本课程中,遇到任何问题都可以通过qq或email想本教程作者进行求助。

只需30元你就可以得到本教程作者的三次专业解答。所以你只需不到300元就可以顺利的完成C#入门,从此推开软件行业的大门。

付费方式非常简单:

用微信扫描下面的二维码。在付款留言中留下你的qq号或email地址就可以啦。

教育不是要便宜,而是要可靠!真正聪明的人,更懂得花钱让专业的人为自己服务,提高自己的效率。

老师qq:2040227296

老师email:2040227296@qq.com

原文地址:https://www.cnblogs.com/thinking-jiang/p/5604261.html