写文件官方demo

https://docs.microsoft.com/zh-cn/dotnet/api/system.io.streamreader.readline?redirectedfrom=MSDN&view=netframework-4.8

方法一:使用Filestream,将文本一次性全部转换为字节,之后转换为string显示在text中

OpenFileDialog fd = new OpenFileDialog();
fd.Filter = "文本文件|*.txt";       //打开文件的类型
if (fd.ShowDialog() == DialogResult.OK)
{
fn = fd.FileName;
FileStream fs = new FileStream(fn, FileMode.Open, FileAccess.Read);
int n = (int)fs.Length;
byte[] b = new byte[n];
int r = fs.Read(b, , n);
textBox3.Text = Encoding.Default.GetString(b, , n);

方法二:使用Filestream,逐字节读取文本,后将字节转换为string显示在text中

FileStream fs = new FileStream(fn, FileMode.Open, FileAccess.Read);
long n = fs.Length;
byte[] b = new byte[n];
int cnt, m;
m = ;
cnt = fs.ReadByte();
while (cnt != -)
{
b[m++] = Convert.ToByte(cnt);
cnt = fs.ReadByte();
}
textBox3.Text = Encoding.Default.GetString(b)

方法三:直接使用File的Read All Text 函数将文本文件内容全部读入text

textBox.Text = File.ReadAllText(fn, Encoding.Default);

方法四:使用StreamReader,将文本中的的内容逐行读入text

StreamReader sr = new StreamReader(fn, Encoding.Default);
string line = sr.ReadLine();
while (line != null)
{
textBox.Text = textBox.Text + line + "\r\n";
line = sr.ReadLine();
}

方法五:使用StreamReader中的ReadToEnd()函数,将文本中的内容全部读入text

StreamReader sr = new StreamReader(fn, Encoding.Default);
textBox.Text = sr.ReadToEnd();

来源“https://blog.csdn.net/swin16/article/details/80256123”

注解

TextReader 类是抽象类。 因此,不要在代码中对其进行实例化。 StreamReader 类派生自 TextReader,并提供成员的实现以从流中读取。 下面的示例演示如何使用 StreamReader.ReadAsync(Char[], Int32, Int32) 方法读取文件中的所有字符。 它在将字符添加到 StringBuilder 类的实例之前,检查每个字符是否为字母、数字或空格。

注解

TextReader 是 StreamReader 和 StringReader的抽象基类,分别从流和字符串读取字符。 使用这些派生类打开文本文件以读取指定范围内的字符,或创建基于现有流的读取器。

https://docs.microsoft.com/zh-cn/dotnet/api/system.io.textreader?redirectedfrom=MSDN&view=netframework-4.8

C#读操作(字节/字符)Filestream、File、StreamReader的更多相关文章

  1. C#对文件/目录的操作:Path、File、Directory、FileStream、StreamReader、StreamWriter等类的浅析

    以下类的命名空间都是:System.I/0; 一.Path:主要对文件路径的操作! 常用方法: String path=@"C:\a\b\c\123.txt"; 1-1.Path. ...

  2. 文件读写(三)利用FileStream类操作字节数组byte[]、BinaryFormatter、内存流MemoryStream

    一.Stream类概述 在.NET Framework中,文件和流是有区别的.文件是存储在磁盘上的数据集,它具有名称和相应的路径.当打开一个文件并对其进行读/写时,该文件就称为流(stream).但是 ...

  3. python基础3之文件操作、字符编码解码、函数介绍

    内容概要: 一.文件操作 二.字符编码解码 三.函数介绍 一.文件操作 文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 基本操作: #/usr/bin/env ...

  4. day3--集合、文件操作、字符编码与转换、函数(递归,lambda,filter,map)、字典排序

    list1 = set([1, 2, 3, 4, 5, 6, 5, 5, 5])list2 = set([11, 2, 36, 'a', 5, 6, 5, 5, 5])list3 = set([1, ...

  5. 文件操作总结 (Path,Directory,File)

    Path类就是对字符串的操作,与实际的文件没有任何关系 属性: Path.GetFileName("路径"), //获取文件名带后缀: Path.GetFileNameWithou ...

  6. python的读写和写读操作

    # 读写操作 (读写操作是正常的)f = open('log',mode='r+',encoding='utf-8') # log是文件名 print(f.read()) f.write(" ...

  7. FileInputStream 原理总结 把文件作为字节流进行读操作

    package io; import java.io.FileInputStream; import java.io.IOException; public class IOUtil { /** * ...

  8. python 基础之文件读操作

    创建一个名为‘尘曦’的文件内容如下 Hadoop是一个由Apache基金会所开发的分布式系统基础架构. 用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力进行高速运算和存储. ...

  9. CI中获取读操作的结果集行数+获取写操作的影响行数

    本质:读操作,用mysql_num_rows函数,写操作用mysql_affected_rows函数 mysql_num_rows() 返回结果集中行的数目.此命令仅对 SELECT 语句有效.要取得 ...

  10. LVS+Keepalived实现MySQL从库读操作负载均衡

    http://www.osyunwei.com/archives/7464.html (学习运维知识好站) 说明: 操作系统:CentOS 5.X 64位 MySQL主服务器:192.168.21.1 ...

随机推荐

  1. js中Array的sort方法

    Array.sort方法里需要传入一个参数,是一个function, 如果想要升序排序,就传入这样的一个function: function sortFunction(a,b){ return a-b ...

  2. 初始jquery(5)

    一.什么是JQuery: JQuery是对JavaScript的封装,简化了JS代码,是主流框架的基础(VUE,EasyUI,Bootstrap) 它是2006年推出的 二.JQuery的优势: 1. ...

  3. BZOJ 4823 Luogu P3756 [CQOI2017]老C的方块 (网络流、最小割)

    题目链接 (Luogu) https://www.luogu.org/problem/P3756 (BZOJ) http://lydsy.com/JudgeOnline/problem.php?id= ...

  4. LeetCode 216. 组合总和 III(Combination Sum III)

    题目描述 找出所有相加之和为 n 的 k 个数的组合.组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字. 说明: 所有数字都是正整数. 解集不能包含重复的组合. 示例 1: 输入 ...

  5. CentOS7 yum install elasticsearch

    首先安装 JDK 环境 # 本机是否已经安装,ElasticSearch 最低支持 jdk 1.7 yum list installed | grep java # 查看 yum 库中的 java 安 ...

  6. yarn application命令介绍

    yarn application 1.-list     列出所有 application 信息    示例:yarn  application -list 2.-appStates <Stat ...

  7. 只需体验三分钟,你就会跟我一样,爱上这款Toast

    只需体验三分钟,你就会跟我一样,爱上这款Toast https://www.jianshu.com/p/9b174ee2c571

  8. GLSL语法入门

    变量 GLSL的变量命名方式与C语言类似.变量的名称可以使用字母,数字以及下划线,但变量名不能以数字开头,还有变量名不能以gl_作为前缀,这个是GLSL保留的前缀,用于GLSL的内部变量.当然还有一些 ...

  9. ADS1.2与MDK4.7冲突问题的解决方法

    需要添加2个系统变量. 1.添加环境变量名: ARMCC5LIB 变量值:C:\Keil\ARM\ARMCC\lib(实际Keil安装目录) 2.添加环境变量:ARMCC5INC变量值:C:\Keil ...

  10. Hadoop : MapReduce中的Shuffle和Sort分析

    地址 MapReduce 是现今一个非常流行的分布式计算框架,它被设计用于并行计算海量数据.第一个提出该技术框架的是Google 公司,而Google 的灵感则来自于函数式编程语言,如LISP,Sch ...