C#实现读写文本文件中的数据
【1】首先我们定义一段假数据,这里以一个string为例字
static void Main(string[] args)
{
string data = "我的数据要开始存入文件了,我好开心啊!覆盖了吗?好像覆盖了,真的覆盖了";
}
【2】接着我们将这个数据写入.txt文件
代码如下:
/// <summary>
/// 保存数据data到文件的处理过程;
/// </summary>
/// <param name="data"></param>
public static String SavaProcess(string data) {
System.DateTime currentTime = System.DateTime.Now;
//获取当前日期的前一天转换成ToFileTime
string strYMD = currentTime.AddDays(-1).ToString("yyyyMMdd");
//按照日期建立一个文件名
string FileName = "MyFileSend" + strYMD + ".txt";
//设置目录
string CurDir = System.AppDomain.CurrentDomain.BaseDirectory + @"SaveDir";
//判断路径是否存在
if(!System.IO.Directory.Exists(CurDir)){
System.IO.Directory.CreateDirectory(CurDir);
}
//不存在就创建
String FilePath = CurDir + FileName;
//文件覆盖方式添加内容
System.IO.StreamWriter file = new System.IO.StreamWriter(FilePath,false);
//保存数据到文件
file.Write(data);
//关闭文件
file.Close();
//释放对象
file.Dispose();
return FilePath;
}
结果是返回一个文件路径,根据具体场合可返回,也可不返回;我们来测试一下文件是否生成成功,我们在Main函数中调用这个方法,代码如下:
static void Main(string[] args)
{
string data = "我的数据要开始存入文件了,我好开心啊!覆盖了吗?好像覆盖了,真的覆盖了";
String filePath = SavaProcess(data);
Console.WriteLine(filePath);
}
运行结果如下:

很显然,在相关目录下,生成了想对应的文件;我们在看看cmd中打印出了如下路径:
D:\VSProject\SavaProcessToFile\SavaProcessToFile\bin\Debug\SaveDirMyFileSend20170628.txt
生成的这个路径对我们接下来的工作很重要,读取文本数据的时候需要用到;
【3】读取.txt文件数据
我们再定义一个读取数据的方法:
/// <summary>
/// 获取文件中的数据
/// </summary>
/// <param name="args"></param>
public static string fileToString( String filePath ){
string strData = "";
try
{
string line;
// 创建一个 StreamReader 的实例来读取文件 ,using 语句也能关闭 StreamReader
using (System.IO.StreamReader sr = new System.IO.StreamReader(filePath))
{
// 从文件读取并显示行,直到文件的末尾
while ((line = sr.ReadLine()) != null)
{
//Console.WriteLine(line);
strData = line;
}
}
}
catch (Exception e)
{
// 向用户显示出错消息
Console.WriteLine("The file could not be read:");
Console.WriteLine(e.Message);
}
return strData;
}
看见没?我们这边传入的参数就是生成文件的那个路径,注意,参数的类型是String表示文本的,而不是string表示字符串的,因为我再生成路径的时候就是用的String,所以这里对应起来;
接下来,我们来测试一下,看我们有没有读取文件成功,看cmd中是否会出现我们最初写入的那个字符串?我们在Main函数中调用方法,代码如下:
static void Main(string[] args)
{
string data = "我的数据要开始存入文件了,我好开心啊!覆盖了吗?好像覆盖了,真的覆盖了";
String filePath = SavaProcess(data);
string strData = fileToString(filePath);
Console.WriteLine(strData);
}
运行结果如下:

结果出现了最开始存的那个字符串;
【4】写入和读取过程完整代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SavaProcessToFile
{
class Program
{
/// <summary>
/// 保存数据data到文件的处理过程;
/// </summary>
/// <param name="data"></param>
public static String SavaProcess(string data) {
System.DateTime currentTime = System.DateTime.Now;
//获取当前日期的前一天转换成ToFileTime
string strYMD = currentTime.AddDays(-1).ToString("yyyyMMdd");
//按照日期建立一个文件名
string FileName = "MyFileSend" + strYMD + ".txt";
//设置目录
string CurDir = System.AppDomain.CurrentDomain.BaseDirectory + @"SaveDir";
//判断路径是否存在
if(!System.IO.Directory.Exists(CurDir)){
System.IO.Directory.CreateDirectory(CurDir);
}
//不存在就创建
String FilePath = CurDir + FileName;
//文件覆盖方式添加内容
System.IO.StreamWriter file = new System.IO.StreamWriter(FilePath,false);
//保存数据到文件
file.Write(data);
//关闭文件
file.Close();
//释放对象
file.Dispose();
return FilePath;
}
/// <summary>
/// 获取文件中的数据
/// </summary>
/// <param name="args"></param>
public static string fileToString(String filePath){
string strData = "";
try
{
string line;
// 创建一个 StreamReader 的实例来读取文件 ,using 语句也能关闭 StreamReader
using (System.IO.StreamReader sr = new System.IO.StreamReader(filePath))
{
// 从文件读取并显示行,直到文件的末尾
while ((line = sr.ReadLine()) != null)
{
//Console.WriteLine(line);
strData = line;
}
}
}
catch (Exception e)
{
// 向用户显示出错消息
Console.WriteLine("The file could not be read:");
Console.WriteLine(e.Message);
}
return strData;
}
static void Main(string[] args)
{
string data = "我的数据要开始存入文件了,我好开心啊!覆盖了吗?好像覆盖了,真的覆盖了";
String filePath = SavaProcess(data);
string strData = fileToString(filePath);
Console.WriteLine(strData);
}
}
}
本文源于zhuxiaoge(http://www.cnblogs.com/zhuxiaoge/p/7094404.html),如有转载请标明出处,不甚感激!!!
C#实现读写文本文件中的数据的更多相关文章
- kNN(从文本文件中解析数据)
# 准备数据:从文本文件中解析数据# 在kNN.py中创建名为file2matrix的函数,处理输入格式问题# 该函数的输入为文件名字符串,输出为训练样本矩阵和类标签向量# 将文本记录到转换Numpy ...
- Matlab中导入文本文件中的数据 矩阵合并 以及C++中删除文件操作
今天用到了Matlab读取文本文件中按照一定格式存储好的数据,然后进行后续的分析计算等,因此涉及到Matlab的文件读取,记录在这里,供以后查阅: fid = fopen('train.set', ' ...
- c++读写matlab中.mat数据
前言:在进行图形图像处理时,经常会用到matlab进行算法的仿真验证,然后再移植到别的语言中.有时会涉及到数据的交互,比如直接读取matlab的.mat类型数据,或者是将c++中的数组存为.mat,为 ...
- 利用java反射读写csv中的数据
前一段有个需求需要将从数据库读取到的信息保存到csv文件中,在实现该需求的时候发现资料比较少,经过收集反射和csv相关资料,最终得到了如下程序. 1.在使用java反射读取csv文件数据时,先通 ...
- 使用json读写文件中的数据
把json的数据写入到文件中 import json with open('data.json','w+') as f: json.dump({"name":"张彪&qu ...
- Spark读写Hbase中的数据
def main(args: Array[String]) { val sparkConf = new SparkConf().setMaster("local").setAppN ...
- Java基础知识强化之IO流笔记46:IO流练习之 把文本文件中数据存储到集合中的案例
1. 把文本文件中数据存储到集合中 需求:从文本文件中读取数据(每一行为一个字符串数据)到集合中,并遍历集合. 分析: 通过题目的意思我们可以知道如下的一些内容, 数据 ...
- load data导txt文件进mysql中的数据
1.实验内容: 利用SQL语句“load data ”将“.txt”文本文件中的数据导入到mysql中 2.实验过程: 首先我创了一个txt(也可以是其他的),设置其编码为utf-8,在windows ...
- Java入门:读写文本文件
文本文件的读写是学习java必须掌握的一项基本技术,因为在项目中时常会涉及到文本文件的读写. 一.使用FileWriter写文件 1.FileWriter类 [功能] FileWriter类专门用来写 ...
随机推荐
- Brain Network (medium)(DFS)
H - Brain Network (medium) Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d &am ...
- 九度OJ 1182:统计单词 (计数)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3920 解决:1443 题目描述: 编一个程序,读入用户输入的,以"."结尾的一行文字,统计一共有多少个单词,并分别输出 ...
- Django 之 admin组件使用&源码解析
admin组件使用 Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.可以在项目的 settings.py 中的 INSTALLED ...
- PAT 1052. 卖个萌 (20)
萌萌哒表情符号通常由“手”.“眼”.“口”三个主要部分组成.简单起见,我们假设一个表情符号是按下列格式输出的: [左手]([左眼][口][右眼])[右手] 现给出可选用的符号集合,请你按用户的要求输出 ...
- Django用ajax发送post请求时csrf拦截的解决方案
把下面的代码写在模版文件中就可以了, 注:不是js文件,是模版文件加载的执行的,所有写js里没效果 $.ajaxSetup({ data: {csrfmiddlewaretoken: '{{ csrf ...
- ubuntu编译内核模块报错:Required key not available 的解决
系统为ubuntu18.04, 在编译内核模块insmod helloworld.ko的时候提示如下错误. 出现此问题的原因是,Ubuntu Kernel 使用 EFI_SECURE_BOOT_SIG ...
- 使用asn1tools进行asn1编解码
最近在做3GPP的编解码,发现有两个第三方库比较好用.一个是ASN1C(c语言编译环境),一个是python第三方库asn1tools.这里介绍下asn1tools的使用方法: 1 第一步:生成asn ...
- scala语法解析(解码指环)
看惯了JAVA的语法,再看scala的语法,有的晦涩难懂.正好遇到一个介绍scala语法的文章,就直接截图留念.省的再临时抱佛脚了.
- Call method 的使用
SAP学习日志---Call method 的使用 以及常见错误 转载▼ 可以通过以下方法 call method 1. 进入全局类中 找到方法,拖到程序中 2. 使用pattern 中的 AAB ...
- VS2013 Pro版本密钥
Visual Studio Professional 2013 KEY(密钥): XDM3T-W3T3V-MGJWK-8BFVD-GVPKY