读取和写入文本文件

2023-11-03

读取和写入文本文件

Read a Text File 的这篇文章部分描述如何使用 StreamReader 类来读取文本的文件。Write a Text File (Example 1),和 Write a Text File (Example 2) 在各节说明了如何使用 StreamWriter 类来向文件写入文本。

读取文本文件

若要打开、 读取,和来关闭文本文件,下面的代码使用 StreamReader 类。您可以将文本文件的路径传递给 StreamReader 构造函数自动打开该文件。ReadLine 方法读取的每一行文本,并读取递增到下一行将文件指针。当 ReadLine 方法到达文件结尾时, 它将返回空引用。

  1. 在记事本中创建示例文本文件。若要这样做,请按照下列步骤操作:
    1. 在记事本中粘贴以下文本:
      hello world
    2. 将文件另存为 Sample.txt。
  2. 启动 Microsoft Visual Studio。
  3. 文件 菜单上指向 新建,然后单击 项目
  4. 项目类型 框中,单击 Visual C# 项目,然后单击 模板 下的 控制台应用程序

    注意在 Visual Studio 2005 或 Visual Studio 2008 中在 项目类型 框中,单击 Visual C#,然后单击在 模板 下的 控制台应用程序
  5. Class1.cs 文件的开头添加以下代码:
    using System.IO;
    Visual Studio 2005 或 Visual Studio 2008,默认的文件的 注释 是 Program.cs。
  6. 将下面的代码添加到 Main 方法:
    String line;try {//Pass the file path and file name to the StreamReader constructorStreamReader sr = new StreamReader("C:\\Sample.txt");//Read the first line of textline = sr.ReadLine();//Continue to read until you reach end of filewhile (line != null) {//write the lie to console windowConsole.WriteLine(line);//Read the next lineline = sr.ReadLine();}//close the filesr.Close();Console.ReadLine();}catch(Exception e){Console.WriteLine("Exception: " + e.Message);}   finally {Console.WriteLine("Executing finally block.");}
    块。
  7. 调试 菜单上单击编译并运行该应用程序,请 开始。若要关闭控制台窗口按 ENTER。控制台窗口将显示 Sample.txt 文件
    Hello world
    中的内容

写文本文件 (示例 1)

下面的代码使用 StreamWriter 类打开、 写入,和以关闭该文本文件。StreamReader 类以类似方式您可以将文本文件的路径传递给该 StreamWriter 构造函数,以自动打开该文件。WriteLine 方法写入文本文件的完整文本行。

  1. 启动 Visual Studio。
  2. 文件 菜单上指向 新建,然后单击 项目
  3. 项目类型 框中,单击 Visual C# 项目,然后单击 模板 下的 控制台应用程序

    注意 在 Visual Studio 2005 或 Visual Studio 2008 中在 项目类型 框中,单击 Visual C#,然后单击 模板 下的 CLR 控制台应用程序
  4. Class1.cs 文件的开头添加以下代码:
    using System.IO;
  5. 将下面的代码添加到 Main 方法:
    try {//Pass the filepath and filename to the StreamWriter ConstructorStreamWriter sw = new StreamWriter("C:\\Test.txt");//Write a line of textsw.WriteLine("Hello World!!");//Write a second line of textsw.WriteLine("From the StreamWriter class");//Close the filesw.Close();}catch(Exception e){Console.WriteLine("Exception: " + e.Message);}finally {Console.WriteLine("Executing finally block.");}
    块。
  6. 调试 菜单上单击编译并运行该应用程序,请 开始。此代码创建的在文本编辑器 (如记事本) 的驱动器 c。 打开 Test.txt 上名为 Test.txt 文件。 Test.txt 包含两行文字:
    Hello World!!From the StreamWriter class

写文本文件 (示例 2)

下面的代码使用 StreamWriter 类打开、 写入,和以关闭该文本文件。与前面的示例不同此代码将两个附加参数传递给构造函数。第一个参数是该文件的路径和文件的文件名。第二个参数 为 True,指定打开该文件中追加模式。如果您在第二个参数指定 False,该文件的内容将覆盖每次运行该代码。第三个参数指定 Unicode,以便 StreamWriter 对该文件以 Unicode 格式进行编码。 您还可以指定下列编码方法的第三个参数:

  • ASC11
  • Unicode
  • UTF7
  • UTF8

Write 方法是与 WriteLine 方法类似,不同之处在于 Write 方法不会自动嵌入回车或换行 (CR/LF) 字符组合。当您想要一次写入一个字符时,这是很有用。

  1. 启动 Visual Studio。
  2. 文件 菜单上指向 新建,然后单击 项目
  3. 项目类型 框中,单击 Visual C# 项目,然后单击 模板 下的 控制台应用程序

    注意在 Visual Studio 2005 或 Visual Studio 2008 单击 Visual C#项目类型,然后单击 模板 下的 控制台应用程序
  4. Class1.cs 文件的开头添加以下代码:
    using System.IO;using System.Text;
    Visual Studio 2005 或 Visual Studio 2008,默认的文件的 注释 是 Program.cs。
  5. 将下面的代码添加到 Main 方法:
    Int64 x;try {//Open the FileStreamWriter sw = new StreamWriter("C:\\Test1.txt", true, Encoding.ASCII);//Writeout the numbers 1 to 10 on the same line.for(x=0; x < 10; x++){sw.Write(x);}//close the filesw.Close();}catch(Exception e){Console.WriteLine("Exception: " + e.Message);}finally {Console.WriteLine("Executing finally block.");}
  6. 调试 菜单上单击编译并运行该应用程序,请 开始。此代码创建一个命名 Test1.txt 为驱动器 c。 打开 Test1.txt 在文本编辑器 (如记事本) 上的文件。Test1.txt 包含单行文本:
    0123456789

完成代码列表

  • 读取文本文件
    //Read a Text Fileusing System;using System.IO;namespace readwriteapp{class Class1{[STAThread]static void Main(string[] args){String line;try {//Pass the file path and file name to the StreamReader constructorStreamReader sr = new StreamReader("C:\\Sample.txt");//Read the first line of textline = sr.ReadLine();//Continue to read until you reach end of filewhile (line != null) {//write the lie to console windowConsole.WriteLine(line);//Read the next lineline = sr.ReadLine();}//close the filesr.Close();Console.ReadLine();}catch(Exception e){Console.WriteLine("Exception: " + e.Message);}finally {Console.WriteLine("Executing finally block.");}}}}
    块。
  • 写文本文件 (版本 1)
    //Write a text file - Version-1using System;using System.IO;namespace readwriteapp{class Class1{[STAThread]static void Main(string[] args) {try {//Pass the filepath and filename to the StreamWriter ConstructorStreamWriter sw = new StreamWriter("C:\\Test.txt");//Write a line of textsw.WriteLine("Hello World!!");//Write a second line of textsw.WriteLine("From the StreamWriter class");//Close the filesw.Close();}catch(Exception e){Console.WriteLine("Exception: " + e.Message);}finally {Console.WriteLine("Executing finally block.");}}}}
    块。
  • 写文本文件 (版本 2)
    //Write a text file  - Version 2using System;using System.IO;using System.Text;namespace readwriteapp{class Class1{[STAThread]static void Main(string[] args) {   Int64 x;try {//Open the FileStreamWriter sw = new StreamWriter("C:\\Test1.txt", true, Encoding.ASCII);//Writeout the numbers 1 to 10 on the same line.for(x=0; x < 10; x++){sw.Write(x);}//close the filesw.Close();}catch(Exception e){Console.WriteLine("Exception: " + e.Message);}finally {Console.WriteLine("Executing finally block.");}}}}

疑难解答

对于所有的文件操作,它是一个良好的编程习惯来包装中 一次尝试-catch-finally 程序块来处理错误和异常代码。专门,您可能希望释放最后块中文件的句柄,使该文件未被无限期锁定。一些可能的错误包括一个文件不存在或已在使用中的文件。

转载于:https://www.cnblogs.com/yanghb/archive/2010/08/24/1807022.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

读取和写入文本文件 的相关文章

随机推荐

  • C# 序列化原码分析

    mcs class referencesource mscorlib system runtime serialization formatterservices cs private static MemberInfo GetSerial
  • 华为OD机试真题【滑动窗口最大值】Java版本

    滑动窗口最大值 题目描述 有一个N个整数的数组 和一个长度为M的窗口 窗口从数组内的第一个数开始滑动直到窗口不能滑动为止 每次窗口滑动产生一个窗口和 窗口内所有数和和 求窗口滑动产生的所有窗口和的最大值 输入描述 第一行输入一个正整数N 表
  • C语言函数大全-- l 开头的 Linux 内核函数(链表管理函数)

    l 开头的 Linux 内核函数 链表管理函数 1 list add list add tail 1 1 函数说明 1 2 演示示例 2 list cut before list cut position 2 1 函数说明 2 2 演示示例
  • MCP

    文献名 Identification of candidate plasma protein biomarkers for cervical cancer using the multiplex proximity extension as
  • 半岛铁盒平板测评--真的很垃圾的平板-怎么修改CPU型号

    兼职 赚了点钱 双十一到了 于是想买个平板 看了老久了 大牌太贵 买不起 正在犹豫的时候发现了这个什么鸟半岛铁盒出来了 这个该死的淘宝 真是让人又恨又爱 然后选了半天 决定入坑这个 看着参数不错 1200的价格也差不多对得上这个参数 就动手
  • 权重计算方法一:层次分析法(AHP)

    目录 1 层次分析法原理介绍 2 层次分析法建模步骤 3 案例分析 3 1 题目简述 3 2 确定评价指标 建立层次关系 3 3 构造判断矩阵 3 3 1 标度定义 3 3 2 构造判断矩阵 3 4 一致性检验 3 5 层次总排序 4 代码
  • 兜兜转转,2020已过半

    兜兜转转间 这个开局有些艰难的2020就已经过半了 这些日子 你过得还好吗 不管是努力抵抗病痛 还是奋力工作生活 其实一直以来 我们都在路上 摸爬滚打 艰难前行 我们总是在追寻 在求索 为了所爱的人 而默默付出努力 却仍时时觉得对不起他们
  • Android中使用Notification实现应用更新显示下载进度

    公司项目马上要进入内测阶段了 检查的时候发现还差一个更新的功能没有做 IOS那边儿有AppStore Android可没有 虽然说各大应用市场也会推送吧 但是毕竟还要装个XX应用市场的软件不是 要是没装的话应用不就没法更新了么 考虑到这方面
  • 初学者C++面向对象程序设计概念全总结最全的概念总结

    1 对象和类概念 对象 任何一个对象都应该具备两个要素 属性 行为 在C 中每个对象都有数据 体现了 属性 和函数 用来对数据进行操作 以实现某些功能 两部分组成 类 具有共性的实体的抽象 类是对象的抽象 不占有内存 对象是类的特例 即类的
  • 深度学习算法研发工程师笔试题(百度2014校园招聘)

    一 简答题 1 深度神经网络目前有哪些成功的应用 简述原因 10分 2 列举不同进程共享数据的方式 至少三种 10分 3 对于N个样本 每个样本为D维向量 采用欧式距离使用KNN做类预测 10分 1 给出预测时间复杂度 2 当N很大时 有哪
  • -20dB谱宽是什么意思?

    20dB谱宽就是信号衰减到十分之一时的频谱带宽 dB的含义 1 dB基本上是一个比例数值 也就是一种倍数的表示单位 也就是测试数据与参考标准的相对差异表示 2 计算公式上 dB 10lg P1 P2 20 lg V1 V2 P代表功率 V代
  • 凌思微新建定时器任务

    凌思微蓝牙IC LE5010A加入自己的APP循环任务 include builtin timer h define UART EVENT PERIOD 1000 MIN 10MS UINT 1MS static void ls user
  • Go开发学习

    欢迎关注 全栈工程师修炼指南 公众号 点击 下方卡片 即可关注我哟 设为 星标 每天带你 基础入门 到 进阶实践 再到 放弃学习 花开堪折直须折 莫待无花空折枝 作者主页 https www weiyigeek top 博客 https b
  • 基于改进人工蜂群算法的 K 均值聚类算法(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 数据 文章讲解 1 概述 复现论文 基于以上三点改进提出
  • VUE +Element 实现多个字段值拼接

    效果截图 VUE 核心功能代码片段 获取公共通知列表 getUsers let para page this page title this filters title this listLoading true NProgress sta
  • React 在 styled-components 中使用 TailwindCss

    方法1 推荐 编译 apply 编译 Styled Components 中的 apply 将 tailwind 编译为 普通css 支持 tailwind 和 windi Babel https github com JiangWeixi
  • RSA加密算法(公钥+私钥加密)

    公开密钥加密 公开密钥加密 public key cryptography 也成为非对称加密 是密码学的一种算法 他需要两个密钥 一个是公开密钥 另一个是私有密钥 一个用作加密的时候 另一个则用作解密 明文 需要加密的内容 成为明文 密文
  • CDN原理简介

    CDN原理简介 CDN的百度百科的解释为 CDN的全称是Content Delivery Network 即内容分发网络 其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节 使内容传输的更快 更稳定 通过在网络各处放置
  • hive执行计划解析

    文章目录 1 hive执行流程的重要性 2 解析sql执行计划流程 2 1 大数据两类sql框架 2 2 解析sql执行计划流程详解 3 sql执行计划映射MR流程 3 1过滤类查询sql 3 2分组聚合类查询sql 3 3join类查询s
  • 读取和写入文本文件

    读取和写入文本文件 Read a Text File 的这篇文章部分描述如何使用 StreamReader 类来读取文本的文件 Write a Text File Example 1 和 Write a Text File Example