C#_导入文本文件_应用场景是导入配置文件

C#_导入文本文件_应用场景是导入配置文件

前言:对比了下面几种方法,速度都很慢,导入3K大小的文本都要好几秒,界面也一直卡着动不了,解决办法是起一个后台线程去干这件事情,效果会好很多。
1、首先最重要的就是获取到文件的路径(获取文件的路径见C#专栏)
2、一共五种方法将文件导入程序的内存中,以字符串形式打印出来

方法一(推荐此方法,因为简介)

//pOpenFileDialog.FileName为路径
//方法三:直接使用File的Read All Text 函数将文本文件内容全部读入text
string text = System.IO.File.ReadAllText(pOpenFileDialog.FileName);  
Console.WriteLine(text);

方法二

//方法五:使用StreamReader中的ReadToEnd()函数,将文本中的内容全部读入text
StreamReader sr = new StreamReader(pOpenFileDialog.FileName, System.Text.Encoding.Default);  
String ls_input = sr.ReadToEnd().TrimStart();
Console.WriteLine(ls_input);

方法三

 //方法一:使用Filestream,将文本一次性全部转换为字节,之后转换为string显示在text中
FileStream fs = new FileStream(pOpenFileDialog.FileName, FileMode.Open, FileAccess.Read); 
int n = (int)fs.Length;
byte[] b = new byte[n];
int r = fs.Read(b, 0, n);
Console.WriteLine(Encoding.Default.GetString(b, 0, n));

方法四

//方法二:使用Filestream,逐字节读取文本,后将字节转换为string显示在text中
FileStream fs = new FileStream(pOpenFileDialog.FileName, FileMode.Open, FileAccess.Read);  
long n = fs.Length;
byte[] b = new byte[n];
int cnt, m;
m = 0;
cnt = fs.ReadByte();
while (cnt != -1)
{
    b[m++] = Convert.ToByte(cnt);
    cnt = fs.ReadByte();
}
Console.WriteLine(Encoding.Default.GetString(b));
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值