C#读写txt文件的方法
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文件的方法的更多相关文章
- [转载]C#读写txt文件的两种方法介绍
C#读写txt文件的两种方法介绍 by 大龙哥 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char ...
- C#读写txt文件的两种方法介绍
C#读写txt文件的两种方法介绍 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出 ...
- C#读写txt文件的两种方法介绍[转]
C#读写txt文件的两种方法介绍 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出 ...
- C#读写txt文件的两种方法介绍 v
C#读写txt文件的两种方法介绍 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出 ...
- Javascript写入txt和读取txt文件的方法
文章主要介绍了Javascript写入txt和读取txt文件的方法,需要的朋友可以参考下1. 写入 FileSystemObject可以将文件翻译成文件流. 第一步: 例: 复制代码 代码如下: Va ...
- java指定编码的按行读写txt文件(几种读写方式的比较)
转: java指定编码的按行读写txt文件(几种读写方式的比较) 2018年10月16日 20:40:02 Handoking 阅读数:976 版权声明:本文为博主原创文章,未经博主允许不得转载. ...
- python使用xlrd模块读写Excel文件的方法
本文实例讲述了python使用xlrd模块读写Excel文件的方法.分享给大家供大家参考.具体如下: 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi ...
- WPF 读写TxT文件
原文:WPF 读写TxT文件 文/嶽永鹏 WPF 中读取和写入TxT 是经常性的操作,本篇将从详细演示WPF如何读取和写入TxT文件. 首先,TxT文件希望逐行读取,并将每行读取到的数据作为一个数组的 ...
- python操作txt文件中数据教程[1]-使用python读写txt文件
python操作txt文件中数据教程[1]-使用python读写txt文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 原始txt文件 程序实现后结果 程序实现 filename = '. ...
随机推荐
- nginx: [emerg] directive "location" has no opening "{" in /usr/local/nginx//conf/nginx.conf:75
1.报错:[emerg]directive "location" has no opening "{" in ..... 解决方法: 由于对应行或者附近行的“{ ...
- Easyui-交互式消息弹出框
由于项目在优化的时候需要用到弹出框,按自己的想法是傻傻的用一些alert直接弹出得了,但是这样用户体验度不是特别好,影响界面美观,所以自己还是用了封装好的easyui给的消息框,怎么用呢,这个里面很有 ...
- 【转】32位plsql连接64位oracle
源地址:http://www.cnblogs.com/ymj126/p/3712727.html
- Eclipse中Spring插件的安装及使用
一.安装流程 1.Help——Install New Software——在Work With中添加地址http://dist.springsource.com/release/TOOLS/updat ...
- 《图解HTTP》阅读笔记---第一章网络基础
第一章.网络基础TCP/IP:----------传输控制协议Transmission Control Protocol / 网络协议Internet Protocol是一种用于Internet(因特 ...
- vue.js路由学习笔记
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- 执行umount 的时候却提示:device is busy 的处理方法
[root@web2-server yum.repos.d]# umount /mnt/cdrom/ umount: /mnt/cdrom: device is busy. (In some case ...
- 无限期使用WebStorm方式
http://blog.csdn.net/DorAction/article/details/79332421 1.下载补丁:JetbrainsCrack-2.7-release-str.jar ht ...
- hdu3038判断区间谎言(带权并查集)
题目传送门 题目描述:给你n,m,n代表从1到n这么大的数组,m组v,u,val,代表v到u这个区间的总和是val,然后让你判断m组关系中有几组是错误的. 思路:带权并查集,这道题其实算是让我知道什么 ...
- 321B
MCMF必须是满足流量最大为前提下的最小费用流(这里是最大费用流) 因此还必须不断地枚举m的流量才行 #include<iostream> #include<algorithm> ...