C# IO流读写文件操作

1、创建文件流

2、创建文件读写器

3、执行读写操作

4、关闭文件读写器和文件流

1、创建文件流

string filePath = AppDomain.CurrentDomain.BaseDirectory + @"..\..\..\TextFile1.txt";//文件相对路径
string filePath2 = @"D:\file\TextFile2.txt";//文件绝对路径
FileStream fs =new FileStream( filePath,FileMode.OpenOrCreate,FileAccess.ReadWrite) ;

PS:“\”在C#中表示转译,所以我们在写文件路径是不能直接以这样的形式写(“D:\files”),我们可以在“”号的前面加一个@符号来取消转译,也可以用”\”来代替“\”

FileMode指定文件的打开方式

  • Create:用指定的名称新建一个文件,如果文件已存在则覆盖原有的文件
  • CreateNew:新建一个文件,如果文件已存在会报异常提示文件已存在
  • Open:打开一个文件,使用这个枚举是文件必须已存在,否则会报异常
  • OpenOrCreate:与Open成员类似,如果文件不存在则用指定的名称新建一个文件并打开它
  • Appen:打开现有文件,并在末尾追加新的内容。

FileAccess文件的访问权限

  • Read:可从文件读取数据的访问权限
  • Write:可将数据写入文件的访问权限
  • ReadWrite:可从文件读取数据和将数据写入文件的访问权限

2、创建文件读写器

创建文件写入器

//参数一:创建的文件流对象
//参数二:true表示追加,false表示覆盖
StreamWriter sw=New StreamWriter(fs,true);

常用方法:

  • sw.Write():用于写入流
  • sw.WriteLine():用于写入一行数据,写入某些数据后跟换行符
  • sw.Close():用于关闭写入器

创建文件读取器

StreamReader sr = new StreamReader(fs,Encoding.Default);//fs:文件流对象

常用方法:

  • sr.ReadLIne():读取文件流中的一行数据,并返回字符串
  • sr.ReadToEnd():从当前位置读到末尾,返回字符串
  • sr.Close();用于关闭读取器。

Encoding指定编码格式防止中文乱码

  • Default表示获取操作系统当前的编码格式
  • UTF-8表示获取UTF-8格式的编码

3、执行读写操作

try
{String content = String.Empty;while ((content = sr.ReadLine()) != null)//读取文件一每一行数据{content = content.Trim().ToString();sw.WriteLine(content);//一行一行地写入文件二}
}
catch
{Console.WriteLine("读取内容到文件方法错误");
}

4、关闭文件读写器和文件流

1、关闭文件读写器和文件流一定要写在finally里面,无论是否有异常都要关闭

2、先打开的后关闭,后打开的先关闭,如果a流依赖b流,那么应该先关a流再关b流

3、当然完全可以只关闭处理流,不用关闭节点流。处理流关闭的时候,会调用其处理的节点流的关闭方法;如果将节点流关闭以后再关闭处理流,会抛出IO异常

finally
{if (sw != null)//关闭文件写入器{sw.Close();}if (sr != null)//关闭文件读取器{sr.Close();}if (fs != null)//关闭文件流{fs.Close();}
}

C# IO流读写文件操作相关推荐

  1. java io流读写文件换行_java基础io流——OutputStream和InputStream的故事(温故知新)...

    io流概述: IO流用来处理设备之间的数据传输,上传文件和下载文件,Java对数据的操作是通过流的方式,Java用于操作流的对象都在IO包中. IO流分类 按照数据流向 输入流 读入数据 输出流 写出 ...

  2. java第九章IO流与文件操作

    使用输出流将String保存到文件(byte数组)byte[] bytes = "Java数据交流管道--IO流".getBytes(); 使用Filewriter 文章目录 9- ...

  3. 【Java基础】IO流与文件操作的一些手写代码面试题

    概述 代码 概述 IO流是我们最基础的数据操作,最近我身边的一些朋友经常遇到这样的面试题,有的居然还是手写代码,真的太残酷了:不过话说回来,IO流确实是编程里最最基础的操作了,需要我们好好掌握,熟记于 ...

  4. Java写文件导致io过高_161108、Java IO流读写文件的几个注意点

    平时写IO相关代码机会挺少的,但却都知道使用BufferedXXXX来读写效率高,没想到里面还有这么多陷阱,这两天突然被其中一个陷阱折腾一下:读一个文件,然后写到另外一个文件,前后两个文件居然不一样? ...

  5. IO流进行文件读写操作

    IO流进行文件读写操作 一.Java程序读excel文件 excel文件分为xls,xlsx和csv文件. 1.xls和xlsx的主要区别是版本不同: xls是excel2003及以前版本所生成的文件 ...

  6. java输出流输入流的使用_Java中的IO流之文件输入输出流

    Java中的IO流之文件输入输出流 1.文件流介绍 文件流是以字节为单位进行读写文件的,所以属于字节流,并且是低级流.文件流位于java.io包下. 输入输出流分别是FileInputSteam和Fi ...

  7. python怎么读取文件-python怎么读写文件操作

    本节内容:I/O操作概述 文件读写实现原理与操作步骤 文件打开模式 Python文件操作步骤示例 Python文件读取相关方法 文件读写与字符编码 一.I/O操作概述 I/O在计算机中是指Input/ ...

  8. java io流 教程_Java基础教程:IO流与文件基础

    Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:指的是从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列 ...

  9. Java基础教程:IO流与文件基础

    Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列的对象 ...

最新文章

  1. 怎么关闭wordpress评论
  2. Excel vba引用工作表的三种写法
  3. 设计模式复习-简单工厂模式
  4. python 中__name__ = '__main__' 的作用
  5. iOS UI-UIScrollView控件实现图片缩放功能
  6. 程序人生之回顾大学前两年----第二篇
  7. Android 显示全文折叠控件
  8. web软件测试 测试报告模板_杭州软件测试培训要多长时间?需要学习什么内容?...
  9. 怎样在MySQL中显示中文,而不出现乱码?
  10. 多维度创新打造领先阿里云技术生态
  11. Android ImageButton示例代码
  12. ssh2的application.xml配置文件配置详解
  13. Linux 怎么重启 mysql
  14. 正则表达式常用的js验证
  15. wifi物理地址怎么改_安卓手机修改wifi物理mac地址的三种方法
  16. 通过Log4j生成CSV格式日志时自动插入表头处理方法
  17. kpi绩效考核流程图_XX公司KPI绩效考核案例.doc
  18. oracle12c cdb修改,Oracle 12c 配置和修改 CDB 和 PDB 参数
  19. 调整report_timing输出格式
  20. 新浪微博正在审核的开发者平台应用添加测试账号

热门文章

  1. Servlet跳转到Jsp的指定div
  2. CSS 使图片看起来有立体感样式
  3. 我的TTT内训师培训经历
  4. 卧槽,QQ号终于能修改了!
  5. Vegas Pro 16帮助菜单简介
  6. 研究一下列车时刻表的后台表结构和常用的查询SQL
  7. 【web前端】如何运行第一个vue.js程序,尝试运行官方指导案例
  8. 秋招干货|应届生毕业生求职简历模板
  9. 上海交通大学c语言程序设计考试,2016年华东交通大学软件学院C语言程序设计考研复试题库...
  10. 200228批量导入开票接口出错,用另外一种方式解决,快速开票顺畅