C#写文件处理操作在很多的开发项目中都会涉及,那么具体的实现方法是什么呢?这里向大家介绍三大方法,希望对你在开发应用中有所启发。

首先C#写文件处理操作必须先导入命名空间:using System.IO;

C#写文件方式一:用FileStream

  1. //实例化一个保存文件对话框
  2. SaveFileDialog sf = new SaveFileDialog();
  3. //设置文件保存类型
  4. sf.Filter = "txt文件|*.txt|所有文件|*.*";
  5. //如果用户没有输入扩展名,自动追加后缀
  6. sf.AddExtension = true;
  7. //设置标题
  8. sf.Title = "写文件";
  9. //如果用户点击了保存按钮
  10. if(sf.ShowDialog()==DialogResult.OK)
  11. {
  12. //实例化一个文件流--->与写入文件相关联
  13. FileStream fs = new FileStream(sf.FileName,FileMode.Create);
  14. //获得字节数组
  15. byte [] data =new UTF8Encoding().GetBytes(this.textBox1.Text);
  16. //开始写入
  17. fs.Write(data,0,data.Length);
  18. //清空缓冲区、关闭流
  19. fs.Flush();
  20. fs.Close();
  21. }

C#写文件方式二:用StreamWriter

  1. //实例化一个保存文件对话框
  2. SaveFileDialog sf = new SaveFileDialog();
  3. //设置文件保存类型
  4. sf.Filter = "txt文件|*.txt|所有文件|*.*";
  5. //如果用户没有输入扩展名,自动追加后缀
  6. sf.AddExtension = true;
  7. //设置标题
  8. sf.Title = "写文件";
  9. //如果用户点击了保存按钮
  10. if (sf.ShowDialog() == DialogResult.OK)
  11. {
  12. //实例化一个文件流--->与写入文件相关联
  13. FileStream fs = new FileStream(sf.FileName, FileMode.Create);
  14. //实例化一个StreamWriter-->与fs相关联
  15. StreamWriter sw = new StreamWriter(fs);
  16. //开始写入
  17. sw.Write(this.textBox1.Text);
  18. //清空缓冲区
  19. sw.Flush();
  20. //关闭流
  21. sw.Close();
  22. fs.Close();
  23. }

C#写文件方式三:用BinaryWriter

  1. //实例化一个保存文件对话框
  2. SaveFileDialog sf = new SaveFileDialog();
  3. //设置文件保存类型
  4. sf.Filter = "txt文件|*.txt|所有文件|*.*";
  5. //如果用户没有输入扩展名,自动追加后缀
  6. sf.AddExtension = true;
  7. //设置标题
  8. sf.Title = "写文件";
  9. //如果用户点击了保存按钮
  10. if (sf.ShowDialog() == DialogResult.OK)
  11. {
  12. //实例化一个文件流--->与写入文件相关联
  13. FileStream fs =
  14. new FileStream(sf.FileName, FileMode.Create);
  15. //实例化BinaryWriter
  16. BinaryWriter bw = new BinaryWriter(fs);
  17. bw.Write(this.textBox1.Text);
  18. //清空缓冲区
  19. bw.Flush();
  20. //关闭流
  21. bw.Close();
  22. fs.Close();
  23. }

另外,在文本文件最后添加内容时也可用:

System.IO.File.AppendAllText(FileName, contents, Encoding);

对于richTextBox来说,可以这样载入和保存文件:

richTextBox1.LoadFile(FileName, RichTextBoxStreamType.PlainText); richTextBox1.SaveFile(FileName, RichTextBoxStreamType.PlainText);

C#的几种写文件方法的更多相关文章

  1. Go写文件的权限 WriteFile(filename, data, 0644)?

    本文来自博客园,作者:阿伟的博客,转载请注明原文链接:https://www.cnblogs.com/cenjw/p/go-ioutil-writefile-perm.html 前言 go iouit ...

  2. 关于使用 Java 分片读\写文件

    分片读取文件方法: /** * 分片读取文件块 * * @param path 文件路径 * @param position 角标 * @param blockSize 文件块大小 * @return ...

  3. Node.js写文件的三种方法

    Node.js写文件的三种方式: 1.通过管道流写文件 采用管道传输二进制流,可以实现自动管理流,可写流不必当心可读流流的过快而崩溃,适合大小文件传输(推荐) var readStream = fs. ...

  4. java写文件时往末尾追加文件(而不是覆盖原文件),的两种方法总结

    代码如下: import java.io.FileWriter; import java.io.IOException; import java.io.RandomAccessFile; public ...

  5. 批处理文件中获取当前所在路径的几种方法,以及写文件到txt

    @echo off setlocal EnableDelayedExpansion echo 当前正在运行的批处理文件所在路径:!cd! pause @echo off echo 当前目录是:%cd% ...

  6. 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 ...

  7. PHP获取文件扩展名五种以上的方法和注释

    在PHP面试中或者考试中会有很大几率碰到写出五种获取文件扩展名的方法,下面是我自己总结的一些方法 $file = ‘需要进行获取扩展名的文件.php’; //第一种,根据.拆分,获取最后一个元素的值f ...

  8. 五、React事件方法(自写一个方法(函数),然后用按钮onClick触发它、自写方法改变this指向3种写法、

    上接:https://www.cnblogs.com/chenxi188/p/11782349.html 项目目录: my-app/ README.md node_modules/ package.j ...

  9. 总结java中创建并写文件的5种方式

    在java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下面笔者就帮大家总结一下java中创建文件的五种方法. Files.newBufferedWriter(Java 8) Files. ...

随机推荐

  1. POJ - 1329 Circle Through Three Points 求圆

    Circle Through Three Points Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 4112   Acce ...

  2. Bzoj1018/洛谷P4246 [SHOI2008]堵塞的交通(线段树分治+并查集)

    题面 Bzoj 洛谷 题解 考虑用并查集维护图的连通性,接着用线段树分治对每个修改进行分治. 具体来说,就是用一个时间轴表示图的状态,用线段树维护,对于一条边,我们判断如果他的存在时间正好在这个区间内 ...

  3. 如何快速取消svn的关联

    我们很多文件和文件项目都是通过svn从服务器上下载的,但是有些时候,出于某些目的,我们不想让这个文件继续和svn服务器进行关联,我们就需要解除这个关联,我观察了网上的相关方法,居然还有忽悠我们用reg ...

  4. zookeeper【5】分布式锁

    我们常说的锁是单进程多线程锁,在多线程并发编程中,用于线程之间的数据同步,保护共享资源的访问.而分布式锁,指在分布式环境下,保护跨进程.跨主机.跨网络的共享资源,实现互斥访问,保证一致性. 架构图: ...

  5. ASP.NET 构建高性能网站 架构设计

    Web前端系统 为了达到不同应用的服务器共享.避免单点故障.集中管理.统一配置等目的,不以应用划分服 务器,而是将所有服务器做统一使用,每台服务器都可以对多个应用提供服务,当某些应用访问量升高时,通过 ...

  6. HDU 4706 Children's Day (水题)

    Children's Day Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  7. git diff 打补丁

    [root@workstation2017 demo]# git diff old new >cc.diff[root@workstation2017 demo]# cat cc.diffdif ...

  8. POJ 1458 Common Subsequence(最长公共子序列LCS)

    POJ1458 Common Subsequence(最长公共子序列LCS) http://poj.org/problem?id=1458 题意: 给你两个字符串, 要你求出两个字符串的最长公共子序列 ...

  9. mysql---总体备份和增量备份

    总体备份: 对整张表或者整个数据库甚至全部数据库进行备份. 增量备份: 对某一范围内的数据进行备份. 1.总体备份: 对表进行备份: 针对存储引擎为myisam的表,能够直接复制frm.myd.myi ...

  10. MVC文件上传01-使用jquery异步上传并客户端验证类型和大小

    本篇体验MVC上传文件,从表单上传过渡到jquery异步上传. MVC最基本的上传文件是通过form表单提交方式 □ 前台视图部分 <% using(Html.BeginForm("F ...