C#读操作(字节/字符)Filestream、File、StreamReader
写文件官方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的更多相关文章
- C#对文件/目录的操作:Path、File、Directory、FileStream、StreamReader、StreamWriter等类的浅析
以下类的命名空间都是:System.I/0; 一.Path:主要对文件路径的操作! 常用方法: String path=@"C:\a\b\c\123.txt"; 1-1.Path. ...
- 文件读写(三)利用FileStream类操作字节数组byte[]、BinaryFormatter、内存流MemoryStream
一.Stream类概述 在.NET Framework中,文件和流是有区别的.文件是存储在磁盘上的数据集,它具有名称和相应的路径.当打开一个文件并对其进行读/写时,该文件就称为流(stream).但是 ...
- python基础3之文件操作、字符编码解码、函数介绍
内容概要: 一.文件操作 二.字符编码解码 三.函数介绍 一.文件操作 文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 基本操作: #/usr/bin/env ...
- 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, ...
- 文件操作总结 (Path,Directory,File)
Path类就是对字符串的操作,与实际的文件没有任何关系 属性: Path.GetFileName("路径"), //获取文件名带后缀: Path.GetFileNameWithou ...
- python的读写和写读操作
# 读写操作 (读写操作是正常的)f = open('log',mode='r+',encoding='utf-8') # log是文件名 print(f.read()) f.write(" ...
- FileInputStream 原理总结 把文件作为字节流进行读操作
package io; import java.io.FileInputStream; import java.io.IOException; public class IOUtil { /** * ...
- python 基础之文件读操作
创建一个名为‘尘曦’的文件内容如下 Hadoop是一个由Apache基金会所开发的分布式系统基础架构. 用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力进行高速运算和存储. ...
- CI中获取读操作的结果集行数+获取写操作的影响行数
本质:读操作,用mysql_num_rows函数,写操作用mysql_affected_rows函数 mysql_num_rows() 返回结果集中行的数目.此命令仅对 SELECT 语句有效.要取得 ...
- LVS+Keepalived实现MySQL从库读操作负载均衡
http://www.osyunwei.com/archives/7464.html (学习运维知识好站) 说明: 操作系统:CentOS 5.X 64位 MySQL主服务器:192.168.21.1 ...
随机推荐
- ORA-03113:通信通道的文件结尾处理
ORA-03113:通信通道的文件结尾执行:alter system set "_optimizer_join_elimination_enabled"=false; cmdsq ...
- sql 为空不做查询条件
select * from usertable where 1=1 and (name=@name or @name='') and (page=@page or @page='')
- vim文本编辑器的用法
vi是一个命令行界面的文本编辑器: vim是vi的改进版: vim不仅有文本编辑:还有文本处理.代码编辑等功能: 1.VIM简介 vim 命令可启动vim编辑器: 一般 vim 文件路径 来使用: ...
- NOI2019 游记
day-1 广二真好看QAQ (要是我也能在这里读书就好了) 提供的餐饮好评QAQ 发现室友是雅礼集训时候的室友,衡水小姐姐zyn. 但是寝室没有网没有信号没有桌子真的不良心啊...... 发现小卖部 ...
- vue 甘特图简单制作
甘特图(Gantt chart)又称为横道图.条状图(Bar chart).其通过条状图来显示项目,进度,和其他时间相关的系统进展的内在关系随着时间进展的情况.以提出者亨利·L·甘特(Henrry L ...
- Codeforces 963 A. Alternating Sum(快速幂,逆元)
Codeforces 963 A. Alternating Sum 题目大意:给出一组长度为n+1且元素为1或者-1的数组S(0~n),数组每k个元素为一周期,保证n+1可以被k整除.给a和b,求对1 ...
- 微信小程序_(组件)可拖动movable-view
微信小程序movable-view组件官方文档 传送门 Learn 一.moveable-view组件 一.movable-view组件 direction:movable-view的移动方向,属性值 ...
- Android_(控件)使用ImageView简单实现图片翻转
效果图 1)可以把图像的id存放数组中,利用setImageResource()或setImageDrawable()方法(放在数组中便于循环) 2)已经是第一张图像时,再点击“上一页”,应Toast ...
- npm+cnpm+vuecli3打包相关
1,npm install和cnpm install时的不同 https://blog.csdn.net/csm0912/article/details/90264026 2,npm设置和查看仓库源 ...
- Eclipse项目迁移到MyEclipse后,继承HttpServlet报错问题
网上好多说法,比如要去对比eclipse和myeclipse的.project文件等等,但我的问题就是Libraries没有导入tomcat,导入之后,报错就消失了. 这里没有给出导入方法,只是给遇到 ...