C#学习笔记004——生成(创建)文本文件
———————————— C#:生成(创建)文本文件 —————————————
很重要的一个头文件:using System.IO;
很重要的类:StreamWriter、FileStream、File
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
法一:作为一个初级自学菜鸟(分不清StreamWriter和FileStream ,也搞不懂他们怎么用),我最常用的方法
必要控件:一个Button + 一个 TextBox
按钮动作:
private void button1_Click(object sender, EventArgs e){string FilePath = Application.StartupPath + "\\test2.txt";for (int i = 0; i < 5; i++){this.textBox1.AppendText("在控件中一行一行添加文本,最后统一保存\r\n");}File.WriteAllLines(FilePath, this.textBox1.Lines);//法二:File.WriteAllText(FilePath, this.textBox1.Text);}
其中:Application.StartupPath 就是当前程序的调试路径
简单来说就是这个:
法二:上一个方法引申版,同样是用到File类
必要控件:一个Button
按钮动作:
private void button1_Click(object sender, EventArgs e){string FilePath = Application.StartupPath + "\\test2.txt";File.AppendAllText(FilePath, "一行一行加\r\n");}
这个方法少用了一个控件,代码量少了,但是每执行一次都需要进行一次文件操作,本人菜鸟不知道是不是会影响运行速度,此法保留。(小程序代码量小,文件小或许可以用一用)
法三:StreamWriter 类
必要控件:一个Button
按钮动作:
private void button1_Click(object sender, EventArgs e){StreamWriter sw = new StreamWriter(Application.StartupPath + "\\" + "test1.txt");sw.Write("你好,哈哈哈哈!");sw.Flush(); //刷新缓冲区sw.Close();}
这里,是用新的内容覆盖旧的内容的方法。
flush() 是把缓冲区的数据强行输出, 主要用在IO中,即清空缓冲区数据,一般在读写流(stream)的时候,
数据是先被读到了内存中,再把数据写到文件中,当你数据读完的时候不代表你的数据已经写完了,
因为还有一部分有可能会留在内存这个缓冲区中。这时候如果你调用了close()方法关闭了读写流,
那么这部分数据就会丢失,所以应该在关闭读写流之前先flush()。
参考资料:https://blog.csdn.net/u012345283/article/details/84498615
法四:StreamWriter + FileStream
必要控件:一个Button
控件动作:
private void button1_Click(object sender, EventArgs e){string FilePath = Application.StartupPath + "\\test3.txt"; //文件所存放的位置FileStream fs = new FileStream(FilePath, FileMode.Append); //FileMode.Append:在下一行添加而不是覆盖之前的内容StreamWriter sw = new StreamWriter(fs);sw.WriteLine("一行一行添加文本");sw.Close();}
FileMode.Append:在下一行添加而不是覆盖之前的内容
最后:PS:(1)文件的格式也可以定义为其他格式,比如”test3.doc“,看自己需求
C#学习笔记004——生成(创建)文本文件相关推荐
- Linux学习笔记---使用BusyBox创建根文件系统(一)
目录 下载BusyBox 修改makefile 添加中文支持 编译busybox 下载BusyBox BusyBox 可以在其官网下载到,官网地址为:https://busybox.net 打开官网后 ...
- ROS学习笔记八:创建ROS msg和srv
ROS学习笔记八:创建ROS msg和srv 本节主要讲述了如何创建和建立ROS msg和srv,同时使用命令行工具rosmsg.rossrv和roscp. msg和srv简介 msg:描述ROS m ...
- 【opencv学习笔记八】创建TrackBar轨迹条
createTrackbar这个函数我们以后会经常用到,它创建一个可以调整数值的轨迹条,并将轨迹条附加到指定的窗口上,使用起来很方便.首先大家要记住,它往往会和一个回调函数配合起来使用.先看下他的函数 ...
- Linux学习笔记---使用BusyBox创建根文件系统(四)
目录 软件运行测试 设置程序为后台运行 设置开机自启动 外网连接测试 软件运行测试 进入到rootfs文件夹中新建一个drivers文件夹,用于存放编写的软件. 新建hello.c文件 输入以下代码 ...
- Linux学习笔记---使用BusyBox创建根文件系统(三)
目录 创建/etc/init.d/rcS 文件 创建/etc/fstab 文件 创建/etc/inittab 文件 创建/etc/init.d/rcS 文件 通过nfs加载根文件系统成功后,在串口终端 ...
- Linux学习笔记---使用BusyBox创建根文件系统(二)
目录 向 rootfs 的"/lib "目录添加库文件 向 rootfs 的usr/lib 目录添加库文件 创建其他文件夹 根文件系统初步测试 向 rootfs 的"/l ...
- ROS学习笔记三:创建ROS软件包
,# ROS学习笔记三:创建ROS软件包 catkin软件包的组成 一个软件包必须满足如下条件才能被称之为catkin软件包: 这个软件包必须包含一个catkin编译文件package.xml(man ...
- 学习笔记--存储过程的创建和调用
学习笔记–存储过程的创建和调用 定义 存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在程序中就可以调用多次.如果某次操作需要执行多次SQL,使用存储过程比单纯SQL ...
- OpenCv2 学习笔记(1) Mat创建、复制、释放
OpenCV和VS2013的安装图文教程网上有很多,建议安装好之后,用VS2013建立一个空工程,用属性管理器分别新建一个对应debug和release工程的props配置文件,以后直接根据工程需要添 ...
最新文章
- 【摘录】GestureDector使用
- pandas使用str函数和startswith函数,筛选dataframe中(start with)以特定前缀开头的数据列(selecting columns begin with certain
- Propel项目改为基于TensorFlow.js
- python~文件遍历命令:glob、os.walk
- zipkin 原理和使用
- 基于scrapy爬虫的天气数据采集(python)
- python动态_python的动态性和_slot_
- 在 .NET Core 中使用 ViewConfig 调试配置
- [翻译]编写高性能 .NET 代码 第一章:性能测试与工具 -- 平均值 vs 百分比
- SAFEARRAY使用方法示例
- Python 数据类型--Bytes类型
- 地图定位的坐标和mapview中显示的当前位置信息不一致
- Lost Array(CF-1043B)
- date timestamp mysql_MySQL中DATETIME、DATE和TIMESTAMP类型的区别
- java中的内存回收机制所采用的算法_JavaGC垃圾回收机制和常见算法
- Visual Studio 2015 安装教程(附安装包)
- 数字孪生智慧交通仿真推演解决方案
- Google Authenticator(谷歌身份验证器)
- 微信智慧支付日系统服务器崩溃,微信支付大面积出现故障 微信支付系统繁忙怎么解决 微信支付崩溃原因是什么...
- 社群裂变营销“肩负”着公司百分之九十的流量
热门文章
- Azkaban重新编译,解决:Could not connect to SMTP host: smtp.163.com, port: 465【2022年01月10日】
- nginx官网下载百度云分享
- c语言函数定义时涉及的基本要素是什么,C语言基础:函数的定义与调用
- 儿童节到了!让 GitHub 上这几个小游戏帮你找回童真吧!
- adb命令 android 串口_Android adb 串口设备调试方法
- 超声波测距 c语言程序流程图,超声波测距程序(详细C语言数码管显示)
- 如何使用最简单的方式进行企业内部知识共享
- lumen php命令,lumen控制器调用artisan
- 答大三犹豫考研的同学兼向大一学生叨叨几句
- Mockplus Cloud Crack,项目管理顺畅