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. Entity Framework Core(3)-配置DbContext

    设计时 DbContext 配置 EF Core 设计时工具如迁移需要能够发现和创建的工作实例DbContext以收集有关应用程序的实体类型以及它们如何映射到数据库架构的详细信息的类型. 此过程可以为 ...

  2. [leetcode tree]100. Same Tree

    判断输入的两棵树是不是相同 判断当前root值,左子树和右子树是否相同 ####注意最后用的是 is 而不是 ==,因为最后判断p和q是不是None, 应该判断是不是同一个对象 class Solut ...

  3. web客户端安全之跨站点请求伪造攻击

    CSRF攻击,Cross-site request forgery,跨站点请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种 ...

  4. keystone 认证深度研究分析

    一.Keystone Token深度概述 Keystone作为OpenStack项目基础认证模块,目前支持的token类型分别是uuid.pkiz.pki.fernet. 首先,简要叙述一下这四种类型 ...

  5. AtCoder Grand Contest 019 F-yes or no

    AtCoder Grand Contest 019 F-yes or no 解题思路: 考虑一个贪心策略,假设当前还有 \(x\) 道 \(\text{yes}\) 和 \(y\) 道 \(\text ...

  6. 用Win32编写发送消息至Notepad++的程序

    这次利用Win32编程写一个发送"Win32 Assembly,My First SendMessage Program !" 每个程序要发送消息至另一个程序的时候,通常使用Sen ...

  7. [USACO11DEC]Grass Planting

    题目大意: 有一棵结点个数为n的树,有m个操作,可以将一段路径上每条边的权值+1或询问某一个边的权值. 思路: 树链剖分+线段树. 轻重链划分本身比较简单,主要需要思考如何用线段树维护每条链. 当x, ...

  8. 函数栈溢出引起的段错误segmentation fault

    遇到了一个奇怪的问题: 有一个回调函数中发生了段错误,但经检查也没有什么明显的错误,然后用排除法一点一点屏蔽,最后定位在一个函数里出错,但这个函数没什么明显错误.最后把入口参数改为引用传递就不报错误. ...

  9. BZOJ 2142 礼物 组合数学 CRT 中国剩余定理

    2142: 礼物 Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 1450  Solved: 593[Submit][Status][Discuss] ...

  10. .NET面试宝典-基础

    经典.net面试题目 建议使用朗读女软件下载,边读边记. 1. 简述 private. protected. public. internal 修饰符的访问权限. 答 . private :   私有 ...