1.添加命名空间

  System.IO;

  System.Text;

2.文件的读取

#region 读取TXT文本文件

        /// <summary>
/// FileStream读取文本文件
/// </summary>
public void FileStreamRead()
{
//文件路径
string filePath = AppDomain.CurrentDomain.BaseDirectory; // Server.MapPath("~/UploadFiles/"); //文件夹不存在则创建
if (!System.IO.Directory.Exists(filePath))
{
System.IO.Directory.CreateDirectory(filePath);
} filePath = AppDomain.CurrentDomain.BaseDirectory + DateTime.Today.ToString("yyyMMdd") + ".txt";
if (System.IO.File.Exists(filePath))
{
//1.直接读取出字符串
string strText = System.IO.File.ReadAllText(filePath); //2.按行读取为字符串数组
string[] arrFileText = System.IO.File.ReadAllLines(filePath); //3.FileStream读取写入给定的缓存区
System.IO.FileStream fs = new FileStream(filePath, FileMode.Open);
fs.Seek(, SeekOrigin.Begin);
byte[] byData = new byte[];
fs.Read(byData, , );//byData传进来的字节数组,用以接受FileStream对象中的数据
System.Text.Decoder d = System.Text.Encoding.Default.GetDecoder();
char[] charData = new char[];
d.GetChars(byData, , byData.Length, charData, );
fs.Close();
} } /// <summary>
/// StreamReader读取文本文件
/// </summary>
public void StreamReaderRead()
{
//文件路径
string filePath = AppDomain.CurrentDomain.BaseDirectory; // Server.MapPath("~/UploadFiles/"); //文件夹不存在则创建
if (!System.IO.Directory.Exists(filePath))
{
System.IO.Directory.CreateDirectory(filePath);
} filePath = AppDomain.CurrentDomain.BaseDirectory + DateTime.Today.ToString("yyyMMdd") + ".txt";
if (System.IO.File.Exists(filePath))
{
//1.从头到尾以流的方式读出文本文件,该方法会读出一行文本
System.IO.StreamReader sr = new StreamReader(filePath);
string strStreamReader = sr.ReadToEnd();
sr.Close();
}
} #endregion

文件读取

FileStream fs = new FileStream(@"c:\temp\ascii.txt", FileMode.Open, FileAccess.Read, FileShare.Read);
//StreamReader sr3 = new StreamReader(fs);
//string str3 = sr3.ReadToEnd();
//sr3.Close();
StreamReader sr4 = new StreamReader(fs, System.Text.Encoding.Default);
string strCH = sr4.ReadToEnd();
sr4.Close();
string str2 = System.IO.File.ReadAllText(@"c:\temp\ascii.txt", System.Text.Encoding.ASCII);

3.文件的写入

#region 写入TXT文本文件

        /// <summary>
/// StreamWriter写入文本文件
/// </summary>
public void StreamWriterWrite()
{
//文件路径
string filePath = AppDomain.CurrentDomain.BaseDirectory; // Server.MapPath("~/UploadFiles/"); //文件不存在则创建
if (!System.IO.Directory.Exists(filePath))
{
System.IO.Directory.CreateDirectory(filePath);
}
filePath = AppDomain.CurrentDomain.BaseDirectory + DateTime.Today.ToString("yyyMMdd") + ".txt"; #region 另一种方式
////FileMode.Append,FileAccess.Write追加文件
//FileStream fs = new FileStream(filePath, FileMode.OpenOrCreate);
//StreamWriter sw = new StreamWriter(fs); #endregion StreamWriter sw = new StreamWriter(filePath, true);
//Write直接追加文件末尾,不换行;WriteLine直接追加文件末尾,换行
sw.WriteLine("测试StreamWriter写入TXT文件" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff")); //清空缓冲区、关闭流
sw.Flush();
sw.Close(); //直接追加到文件
//using (System.IO.StreamWriter sw = System.IO.File.AppendText(filePath))
//{
// sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff"));
//} } /// <summary>
/// FileStream写入文本文件
/// </summary>
public void FileStreamWrite()
{
//文件路径
string filePath = AppDomain.CurrentDomain.BaseDirectory; // Server.MapPath("~/UploadFiles/"); //文件不存在则创建
if (!System.IO.Directory.Exists(filePath))
{
System.IO.Directory.CreateDirectory(filePath);
}
filePath = AppDomain.CurrentDomain.BaseDirectory + DateTime.Today.ToString("yyyMMdd") + ".txt"; //1.该方法写入字符数组换行显示
string[] arrFile = { "first line", "second line", "third line", "第四行" };
System.IO.File.AppendAllLines(filePath, arrFile, System.Text.Encoding.Default); //2.字符串写入文本
string strTest = "该例子测试一个字符串写入文本文件。";
System.IO.File.AppendAllText(filePath, strTest, System.Text.Encoding.Default); //3.FileMode.Append,FileAccess.Write追加文件
FileStream fs = new FileStream(filePath, FileMode.Append,FileAccess.Write);
byte[] data = System.Text.Encoding.Default.GetBytes("测试FileStream写入TXT文件" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff"));
fs.Write(data, , data.Length);
//清空缓冲区、关闭流
fs.Flush();
fs.Close();
} #endregion

文件写入

#region 读取 保存

                ////读取
//string strFileTxt = string.Empty;
//using (FileStream fs = new FileStream(strFileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
//{
// StreamReader sr = new StreamReader(fs, System.Text.Encoding.UTF8); //选择编码方式
// strFileTxt = sr.ReadToEnd();
//} ////保存
//using (FileStream fs = new FileStream(strSavePath, FileMode.Create, FileAccess.Write))
//{
// byte[] fData = Encoding.UTF8.GetBytes(strFileTxt);
// fs.Write(fData, 0, fData.Length);
// fs.Flush();
//} #endregion

读取 保存

http://www.cnblogs.com/jx270/archive/2013/04/14/3020456.html

C#读写txt文件的方法的更多相关文章

  1. [转载]C#读写txt文件的两种方法介绍

    C#读写txt文件的两种方法介绍 by 大龙哥 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char ...

  2. C#读写txt文件的两种方法介绍

    C#读写txt文件的两种方法介绍 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出 ...

  3. C#读写txt文件的两种方法介绍[转]

    C#读写txt文件的两种方法介绍 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出 ...

  4. C#读写txt文件的两种方法介绍 v

    C#读写txt文件的两种方法介绍 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出 ...

  5. Javascript写入txt和读取txt文件的方法

    文章主要介绍了Javascript写入txt和读取txt文件的方法,需要的朋友可以参考下1. 写入 FileSystemObject可以将文件翻译成文件流. 第一步: 例: 复制代码 代码如下: Va ...

  6. java指定编码的按行读写txt文件(几种读写方式的比较)

    转: java指定编码的按行读写txt文件(几种读写方式的比较) 2018年10月16日 20:40:02 Handoking 阅读数:976  版权声明:本文为博主原创文章,未经博主允许不得转载. ...

  7. python使用xlrd模块读写Excel文件的方法

    本文实例讲述了python使用xlrd模块读写Excel文件的方法.分享给大家供大家参考.具体如下: 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi ...

  8. WPF 读写TxT文件

    原文:WPF 读写TxT文件 文/嶽永鹏 WPF 中读取和写入TxT 是经常性的操作,本篇将从详细演示WPF如何读取和写入TxT文件. 首先,TxT文件希望逐行读取,并将每行读取到的数据作为一个数组的 ...

  9. python操作txt文件中数据教程[1]-使用python读写txt文件

    python操作txt文件中数据教程[1]-使用python读写txt文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 原始txt文件 程序实现后结果 程序实现 filename = '. ...

随机推荐

  1. MySQL的索引单表优化案例分析

    建表 建立本次优化案例中所需的数据库及数据表 CREATE DATABASE db0206; USE db0206; CREATE TABLE `db0206`.`article`( `id` INT ...

  2. nodejs nodejs模块使用及简单的示例

    nodejs模块使用及简单的示例 参考菜鸟教程网:http://www.runoob.com/ 一.fs模块的使用: 1.文件操作: 读文件: //读文件 var fs=require('fs'); ...

  3. [SinGuLaRiTy] 数论题目复习

    [SinGuLaRiTy-1020] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. [CQBZOJ 1464] Hankson 题目描述 H ...

  4. 拓扑排序+数学+DP【洛谷P1685】 游览

    P1685 游览 题目描述 顺利通过了黄药师的考验,下面就可以尽情游览桃花岛了! 你要从桃花岛的西头开始一直玩到东头,然后在东头的码头离开.可是当你游玩了一次后,发现桃花岛的景色实在是非常的美丽!!! ...

  5. luogu2480 [SDOI2010]古代猪文

    link 题意一开始没TM读懂... 就是给定一个\(G\le10^{10},N\le10^9\),求\(G^{\sum_{d|n}{n\choose d}}\),对999911659取模 由于999 ...

  6. [SHOI2002]百事世界杯之旅

    题目:"--在2002年6月之前购买的百事任何饮料的瓶盖上都会有一个百事球星的名字.只要凑齐所有百事球星的名字,就可参加百事世界杯之旅的抽奖活动,获得球星背包,随声听,更克赴日韩观看世界杯. ...

  7. linux下的静态库和动态库

    一.linux下的静态库   静态库中的被调用的函数的代码会在编译时一起被复制到可执行文件中去的!!可执行文件在运行不需要静态库的存在!   二.linux下动态库的构建和使用 1.动态库的构建   ...

  8. c++将文件之间编译关系降到最低

    类的定义式:类的定义,可以知道类的大小 类的实现: 类的声明:类的声明,表明,使用此类,编译不会出错 C++并没有把“将接口从实现中分离”做得很好.Class的定义式不只详细叙述了Class接口,还包 ...

  9. cocos2d 3.3 安装教程

    最近在学习cocos-2d,百度一下cocos-2d,铺天盖地的都是cocos-2dx的教程,不得不说,老外还是钟情cocos2d,之前安装过cocos2d 2.0版本,网上的教程还是都是0.9的安装 ...

  10. 打谷机 BZOJ 1603 模拟

    Farmer John有一个过时的打谷机(收割小麦),它需要带子来带动.发动机驱动轮1总是顺时针旋转的,用来带动转轮2,转轮2来带动转轮3,等等.一共有n(2<=n<=1000)个转轮(n ...