在这个练习中,我们来学习如何把我们想要的东西写到文件中。我们在这个练习中还是使用File类中的方法来完成写文件的操作。

在这个练习中我们要用C#创建一个纯文本文件ex11.txt 放到c盘的Exercise11目录下。通常c盘下是没有Exercise11目录的,请先建立这个目录。我们的C#程序会让用户输入三行内容,然后我们的程序会把用户输入的内容写到ex11.txt文件中。我们不想把文件的名字ex11.txt写死在程序里边。我们想在程序运行的时候,让用户输入要创建的文件的名字。

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

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

这个程序的功能看起来蛮复杂的。我在这里给大家简要一下。

14,15行代码:让用户输入要创建的文件名称。文件我们要求放在c盘的exercise11目录下。

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

19行代码:判断用户指定的这个文件在c盘的exercise11目录下是否存在

20-34行代码:如果文件不存在,会创建这个文件将用户输入的内容存在这个文件中

35-38行代码:如果文件已经存在,提示用户文件已经存在。

21-26行代码:提示用户输入三行文字,将每行文字存在一个字符串类型的变量中。

28行代码:将三行文字连在一起放在一个变量中。\n 是一个转移字符,告诉程序这是一行的结尾,下面要开始新的一行。

33行代码:调用File.WriteAllText() 方法将三行文字写到文件中,第一个参数是文件的完整路径和名字,第二个参数是往文件中写的内容,第三个参数是写入内容的编码格式。

运行结果

练习

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

  2. 修改程序,让用户输入5句话,写入用户指定的文件中

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

  4. 去掉28行加入的那些"\n".运行程序看看会得到什么结果。在网上查询一下还有那些和\n类似的转意字符,试着使用一下它们,看看会得到什么结果。


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

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

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

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

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

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

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

付费方式非常简单:

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

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

老师qq:2040227296

老师email:2040227296@qq.com

11 在C#中写文件的更多相关文章

  1. Java中写文件操作

    OutputStream 和 Writer OutputStream类(直接操作byte数组) 该类是字节输出流的抽象类,定义了输出流的各种操作方法.如下图是OutputStream的层次结构: By ...

  2. 使用VBA从工作表中读图片,以及给工作表中写文件

    因为工作的原因,需要用到VBA,碰到读图片和写图片: Sub Macro01() '从工作表中保存图片 Application.ScreenUpdating = False Dim pth, shp, ...

  3. C++中写文件ofstream 的<< 操作符 与C风格的fwrite 的笔记

    在某次工作中,调用了某SDK接口,该接口通过一个回调函数返回需要的内容.我们需要的内容是H.264码流,该码流通过一个unsigned char* 变量带回,另外还有一个长度 int length.为 ...

  4. 往SD卡中写文件的方法。

    package com.lixu.writetosd; import java.io.File; import java.io.FileOutputStream; import java.io.IOE ...

  5. Andorid中写文件后在电脑上看不到的解决办法

    每次通过输出流往SD卡写入文件,连接上电脑,用MTP的方式模拟一个移动磁盘,打开磁盘却没有这样一个文件,而通过adb的方式查看就有,造成这个现象的原因是,每次写入之后,MTP的数据库并没有更新,因为更 ...

  6. HDFS写文件过程分析

    转自http://shiyanjun.cn/archives/942.html HDFS是一个分布式文件系统,在HDFS上写文件的过程与我们平时使用的单机文件系统非常不同,从宏观上来看,在HDFS文件 ...

  7. VC中对文件的读写

    http://www.cnblogs.com/LJWJL/archive/2012/10/06/2712466.html 注意: 1.由于C是缓冲写 所以要在关闭或刷新后才能看到文件内容 2.电脑处理 ...

  8. 【转】VC中对文件的读写

    原文网址:http://www.cnblogs.com/LJWJL/archive/2012/10/06/2712466.html 注意: 1.由于C是缓冲写 所以要在关闭或刷新后才能看到文件内容 2 ...

  9. [笔记]Go语言写文件几种方式性能对比

    Go语言中写文件有多种方式,这里进行如下几种方式的速度对比: 打开文件,写入内容,关闭文件.如此重复多次 打开文件,写入内容,defer 关闭文件.如此重复多次 打开文件,重复多次写入内容,defer ...

随机推荐

  1. 【模板】Lca倍增法

    Codevs 1036 商务旅行 #include<cstdio> #include<cmath> #include<algorithm> using namesp ...

  2. XOR的艺术

    题目描述 AKN觉得第一题太水了,不屑于写第一题,所以他又玩起了新的游戏.在游戏中,他发现,这个游戏的伤害计算有一个规律,规律如下 1. 拥有一个伤害串为长度为n的01串. 2. 给定一个范围[l,r ...

  3. Keywords Search AC自动机

    In the modern time, Search engine came into the life of everybody like Google, Baidu, etc. Wiskey al ...

  4. java中static学习总结

    <<java编程思想>>: 1.static方法就是没有this的方法. 2.在static方法内部非静态方法. 3.在没有创建对象的前提下,可以通过类本身来调用static修 ...

  5. Stuts2的&quot;struts.devMode&quot;设置成true后,不起作用的解决的方法

    不用  <constant name="struts.devMode" value="true" /> 改成 <constant name=& ...

  6. update city_demo set city=(select city from city order by rand() limit1);

    update city_demo set city=(select city from city order by rand() limit1); 因为使用了rand()函数,所以每一次查询的结果是不 ...

  7. InnoDB: Error: Table &quot;mysql&quot;.&quot;innodb_table_stats&quot; not found.

    1,Mysqldump的时候报错例如以下: 2014-05-05 14:12:37 7f004a9a2700 InnoDB: Error: Table "mysql"." ...

  8. DetachedCriteria的使用

    设计上能够灵活的依据 Criteria 的特点来方便地进行查询条件的组装.如今对 Hibernate的Criteria 的使用方法进行总结:    Hibernate 设计了 CriteriaSpec ...

  9. apple air装双系统(win7)

     同事买了一个apple air.用不习惯,希望再装个win7,经过多次试验,得到例如以下操作方法: 1.在MAC系统里的"有用工具"中找到"Boot Camp 助理 ...

  10. MyBatis 中#{}与${}绑定参数的区别

    MyBatis 中#{}与${}绑定参数的区别: #{}将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by #{id},如果传入的值是111,那么解析成sql时的值为o ...