C#的几种写文件方法
C#写文件处理操作在很多的开发项目中都会涉及,那么具体的实现方法是什么呢?这里向大家介绍三大方法,希望对你在开发应用中有所启发。
首先C#写文件处理操作必须先导入命名空间:using System.IO;
C#写文件方式一:用FileStream
- //实例化一个保存文件对话框
- SaveFileDialog sf = new SaveFileDialog();
- //设置文件保存类型
- sf.Filter = "txt文件|*.txt|所有文件|*.*";
- //如果用户没有输入扩展名,自动追加后缀
- sf.AddExtension = true;
- //设置标题
- sf.Title = "写文件";
- //如果用户点击了保存按钮
- if(sf.ShowDialog()==DialogResult.OK)
- {
- //实例化一个文件流--->与写入文件相关联
- FileStream fs = new FileStream(sf.FileName,FileMode.Create);
- //获得字节数组
- byte [] data =new UTF8Encoding().GetBytes(this.textBox1.Text);
- //开始写入
- fs.Write(data,0,data.Length);
- //清空缓冲区、关闭流
- fs.Flush();
- fs.Close();
- }
C#写文件方式二:用StreamWriter
- //实例化一个保存文件对话框
- SaveFileDialog sf = new SaveFileDialog();
- //设置文件保存类型
- sf.Filter = "txt文件|*.txt|所有文件|*.*";
- //如果用户没有输入扩展名,自动追加后缀
- sf.AddExtension = true;
- //设置标题
- sf.Title = "写文件";
- //如果用户点击了保存按钮
- if (sf.ShowDialog() == DialogResult.OK)
- {
- //实例化一个文件流--->与写入文件相关联
- FileStream fs = new FileStream(sf.FileName, FileMode.Create);
- //实例化一个StreamWriter-->与fs相关联
- StreamWriter sw = new StreamWriter(fs);
- //开始写入
- sw.Write(this.textBox1.Text);
- //清空缓冲区
- sw.Flush();
- //关闭流
- sw.Close();
- fs.Close();
- }
C#写文件方式三:用BinaryWriter
- //实例化一个保存文件对话框
- SaveFileDialog sf = new SaveFileDialog();
- //设置文件保存类型
- sf.Filter = "txt文件|*.txt|所有文件|*.*";
- //如果用户没有输入扩展名,自动追加后缀
- sf.AddExtension = true;
- //设置标题
- sf.Title = "写文件";
- //如果用户点击了保存按钮
- if (sf.ShowDialog() == DialogResult.OK)
- {
- //实例化一个文件流--->与写入文件相关联
- FileStream fs =
- new FileStream(sf.FileName, FileMode.Create);
- //实例化BinaryWriter
- BinaryWriter bw = new BinaryWriter(fs);
- bw.Write(this.textBox1.Text);
- //清空缓冲区
- bw.Flush();
- //关闭流
- bw.Close();
- fs.Close();
- }
另外,在文本文件最后添加内容时也可用:
System.IO.File.AppendAllText(FileName, contents, Encoding);
对于richTextBox来说,可以这样载入和保存文件:
richTextBox1.LoadFile(FileName, RichTextBoxStreamType.PlainText); richTextBox1.SaveFile(FileName, RichTextBoxStreamType.PlainText);
C#的几种写文件方法的更多相关文章
- Go写文件的权限 WriteFile(filename, data, 0644)?
本文来自博客园,作者:阿伟的博客,转载请注明原文链接:https://www.cnblogs.com/cenjw/p/go-ioutil-writefile-perm.html 前言 go iouit ...
- 关于使用 Java 分片读\写文件
分片读取文件方法: /** * 分片读取文件块 * * @param path 文件路径 * @param position 角标 * @param blockSize 文件块大小 * @return ...
- Node.js写文件的三种方法
Node.js写文件的三种方式: 1.通过管道流写文件 采用管道传输二进制流,可以实现自动管理流,可写流不必当心可读流流的过快而崩溃,适合大小文件传输(推荐) var readStream = fs. ...
- java写文件时往末尾追加文件(而不是覆盖原文件),的两种方法总结
代码如下: import java.io.FileWriter; import java.io.IOException; import java.io.RandomAccessFile; public ...
- 批处理文件中获取当前所在路径的几种方法,以及写文件到txt
@echo off setlocal EnableDelayedExpansion echo 当前正在运行的批处理文件所在路径:!cd! pause @echo off echo 当前目录是:%cd% ...
- django上课笔记7-jQuery Ajax 和 原生Ajax-伪造的Ajax-三种Ajax上传文件方法-JSONP和CORS跨域资源共享
一.jQuery Ajax 和 原生Ajax from django.conf.urls import url from django.contrib import admin from app01 ...
- PHP获取文件扩展名五种以上的方法和注释
在PHP面试中或者考试中会有很大几率碰到写出五种获取文件扩展名的方法,下面是我自己总结的一些方法 $file = ‘需要进行获取扩展名的文件.php’; //第一种,根据.拆分,获取最后一个元素的值f ...
- 五、React事件方法(自写一个方法(函数),然后用按钮onClick触发它、自写方法改变this指向3种写法、
上接:https://www.cnblogs.com/chenxi188/p/11782349.html 项目目录: my-app/ README.md node_modules/ package.j ...
- 总结java中创建并写文件的5种方式
在java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下面笔者就帮大家总结一下java中创建文件的五种方法. Files.newBufferedWriter(Java 8) Files. ...
随机推荐
- 如何快速取消svn的关联
我们很多文件和文件项目都是通过svn从服务器上下载的,但是有些时候,出于某些目的,我们不想让这个文件继续和svn服务器进行关联,我们就需要解除这个关联,我观察了网上的相关方法,居然还有忽悠我们用reg ...
- NetCore控制台实现自定义CommandLine功能
命令行科普: 例如输入: trans 123 456 789 -r 123 -r 789上面例子中:trans是Command,123 456 789是CommandArgument,-r之后的都是C ...
- Outlook数据提取工具readpst
Outlook数据提取工具readpst Outlook是Windows常用的邮件客户端.它将用户的信息保存到.pst文件中,如邮件.约会.日历.联系人等信息.为了便于查看这些信息,Kali Li ...
- DMA
DMA:如果将一串字符串通过串口传送到外设中去,用传统的方法,则CPU将不断的去扫描UTSTAT这个寄存器,在字符发送期间,CPU将不能做任何其他事情.为了解决这个问题,则在诞生了DMA CPU只需要 ...
- BZOJ.5329.[SDOI2018]战略游戏(圆方树 虚树)
题目链接 显然先建圆方树,方点权值为0圆点权值为1,两点间的答案就是路径权值和减去起点终点. 对于询问,显然可以建虚树.但是只需要计算两关键点间路径权值,所以不需要建出虚树.统计DFS序相邻的两关键点 ...
- 让 Git 全局性的忽略 .DS_Store
让 Git 全局性的忽略 .DS_Store Mac 中每个目录都会有个文件叫.DS_Store, 用于存储当前文件夹的一些 Meta 信息.每次提交代码时,我都要在代码仓库的 .gitignore ...
- 2013年JavaScript开发人员调查结果
JavaScript开发人员调查现在已经结束,一如既往社区对结果进行了进一步分析: 总结(汉语) 原始数据(电子表格) 2012年结果 51%的被参与者写客户端代码,而28%的人说他们编写服务器端代码 ...
- tsinsen A1333
可以用二维树状数组套值域线段树来做,复杂度:O( (n*n+q) * logn logn log10^9 ) 但作为作为整体二分的例题,还是用整体二分来写了一下.对整体二分有一点感觉了. 整体二分,顾 ...
- numpy中的random函数
1:rand rand(d0, d1, ..., dn) Random values in a given shape. Create an array of the given shap ...
- List常用子类的特点
ArrayList: 底层数据结构是数组,查询快,增删慢 线程不安全, 效率较高 Vector 底层数据结构是数组,查询快,增删慢 线程安全, 效率较低 LinkedList 底 ...