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. 概率论中常见分布总结以及python的scipy库使用:两点分布、二项分布、几何分布、泊松分布、均匀分布、指数分布、正态分布

    概率分布有两种类型:离散(discrete)概率分布和连续(continuous)概率分布. 离散概率分布也称为概率质量函数(probability mass function).离散概率分布的例子有 ...

  2. BOM知识梳理

    学过前端开发的地球人应该都了解,JavaScript分为三个部分:ECMAScript(JS语言本身基础语法),DOM(文档对象模型,应用程序编程接口),BOM(浏览器对象模型). BOM,实际上与浏 ...

  3. TF-timeline的使用经验记录

    timeline的使用经验记录:https://towardsdatascience.com/howto-profile-tensorflow-1a49fb18073d 看了TF-summit2018 ...

  4. hdu 1199 Color the Ball 离散线段树

    C - Color the Ball Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u ...

  5. AppDelegate 方法介绍

    // //  AppDelegate.swift //  SwifyDemo import UIKit import CoreData @UIApplicationMain // 入口函数 UIApp ...

  6. java值和地址值传递、字符串常量池的理解

    #java值和地址值传递的理解: - 基本数据类型和基本数据类型的封装类都是:值传递    * 形式参数的改变不会影响实际参数的改变(相当于将值复制一份传递给形参,自身没做任何改变)   - 引用数据 ...

  7. cocos2dx 3.0 中文 iconv 转换函数

    //#include <string> #pragma once #include "cocos2d.h"; #include "iconv\include\ ...

  8. HDU 3487 Play with Chain (splay tree)

    Play with Chain Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  9. MVC使用Entity Framework Code First,用漂亮表格显示1对多关系

    部门和职员是1对多关系.用一个表格列出所有部门,并且在每行显示该部门下的所有职员名称.如下: 部门和职员的Model: using System.Collections.Generic; namesp ...

  10. Arcgis10.5 python按属性分割图层,属性相同分为一个图层

    # coding=utf-8 """ Source code for potential gp tool to create outputs based on attri ...