C# FileStream MemoryStream BufferedStream StreamReader StreamWriter
FileStream读取文件
FileStream file =File.Open(@"F:\file.txt",FileMode.Open);//初始化文件流byte[] array =newbyte[file.Length];//初始化字节数组file.Read(array,0, array.Length);//读取流中数据把它写到字节数组中file.Close();//关闭流string str =Encoding.Default.GetString(array);//将字节数组内容转化为字符串Console.WriteLine(str); FileStream写入文件
FileStream file =File.Open(@"F:\file.txt",FileMode.Append);//初始化文件流byte[] array =Encoding.UTF8.GetBytes("Hello World!你好");//给字节数组赋值file.Write(array,0, array.Length);//将字节数组写入文件流file.Close();//关闭流
MemoryStream解析数据
string str ="Hi!你好!"; byte[] array =Encoding.UTF8.GetBytes(str);//将字符串转化为字节数组MemoryStream memory =newMemoryStream(array);//初始化MemoryStream类byte[] arrayNew = memory.ToArray();//将内存中的数据转换为字节数组string strNew =Encoding.UTF8.GetString(arrayNew);//将字节数组转换为字符串
BufferedStream封装流 FileStream file1 =File.Open(@"F:\file1.txt",FileMode.OpenOrCreate,FileAccess.Read);//读取文件流 FileStream file 2=File.Open(@"F:\file2.txt",FileMode.OpenOrCreate,FileAccess.Write);//写入文件流 byte[] array =newbyte[4096]; BufferedStream bufferedInput =newBufferedStream(file1);//封装文件流 BufferedStream bufferedOutput =newBufferedStream(file2);//封装文件流 bufferedInput.Read(array,0, array.Length); bufferedOutput.Write(array,0, array.Length); int bytesRead =0; while((bytesRead = bufferedInput.Read(array,0,4096))>0)//读取到了数据 { bufferedOutput.Write(array,0, bytesRead); Console.WriteLine(bytesRead); } bufferedInput.Close();//关闭各种流 bufferedOutput.Close(); file1.Close(); file2.Close(); StreamReader/Writer读写 StreamReader reader =newStreamReader("filePath");//初始化读取 StreamWriter writer =newStreamWriter("filePath");//初始化写入 string readStr=reader.ReadLine();//从流中读取一行 string readAff = reader.ReadToEnd();//从流中读取全部 writer.Write("Hi 你好");//写入内容 writer.WriteLine("Hi 你好");//写入一行 reader.Close();//关闭流 writer.Close();
C# FileStream MemoryStream BufferedStream StreamReader StreamWriter的更多相关文章
- C#流总结(文件流、内存流、网络流、BufferedStream、StreamReader/StreamWriter、TextReader/TextWriter)
一.文件流 FileStream类主要用于读写磁盘文件.常用于向磁盘存储数据或读取配置文件. 读取文件: //文件流:读取 FileStream fileStream = File.Open(@&qu ...
- File FileStream StreamReader StreamWriter C#
存在各种各样的IO设备,比如说文件File类(字符串文件和二进制文件),可以直接使用File类对文件进行读写操作. 这些各种IO的读取和写入是通过流的形式实现的,基类为Stream,针对各种不同的IO ...
- 20151024_003_C#基础知识(File / FileStream / StreamReader/StreamWriter)
1:绝对路径和相对路径 绝对路径:通过给定的路径直接能在我的电脑中找到这个文件. 相对路径:文件相对于应用程序的路径. 2:编码格式 乱码:产生乱码的原因,就是你保存这个文件所采用的编码,跟你打开这个 ...
- StreamReader & StreamWriter
这节讲StreamReader & StreamWriter,这两个类用于操作字符或者字符串,它将流的操作封装在了底层,相对来说用法比较简单,但是它不支持Seek()方法. 先看一下代码: F ...
- FileStream和BinaryReader,BinaryWriter,StreamReader,StreamWriter的区别
FileStream对于在文件系统上读取和写入文件非常有用,FileStream缓存输入和输出,以获得更好的性能.FileStream对象表示在磁盘或网络路径上指向文件的流.这个类提供了在文件中读写字 ...
- FileStream读写文件【StreamWriter 和 StreamReader】
FileStream对象表示在磁盘或网络路径上指向文件的流.这个类提供了在文件中读写字节的方法,但经常使用StreamReader或StreamWriter执行这些功能.这是因为FileStream类 ...
- C# 文件流FileStream 实现多媒体文件复制 StreamReader StreamWriter 读取写入文本
#region 实现多媒体文件的复制 string source = @"F:\123\source.avi";//源文件路径 string target = @"F:\ ...
- C# StreamReader/StreamWriter与FileStream用法详解
http://www.360doc.com/content/13/0610/08/12579422_291878973.shtml
- stream,file,filestream,memorystream简单的整理
一.Stream 什么是stream?(https://www.cnblogs.com/JimmyZheng/archive/2012/03/17/2402814.html#no8) 定义:提供字节序 ...
随机推荐
- 链表java实现
链表是用指针将多个节点联系在一起,通过头节点和尾节点还有节点数量,可以对链表进行一系列的操作.是线性表的链式存储实现. 1.链表是多个不连续的地址组成在一起根据指针链接在一起的,由多个节点组成,每个节 ...
- MySQL 大表备份、改表
0.背景: 需要对一个千万行数据的表新增字段,具体操作: a.dump 数据 b.delete 数据 c.alter 表 MySQL 版本为5.5,alter表时MySQL会锁表:表行数虽多,当数据 ...
- P3758 [TJOI2017]可乐
题目描述 加里敦星球的人们特别喜欢喝可乐.因而,他们的敌对星球研发出了一个可乐机器人,并且放在了加里敦星球的1号城市上.这个可乐机器人有三种行为: 停在原地,去下一个相邻的城市,自爆.它每一秒都会随机 ...
- 【刷题】BZOJ 3994 [SDOI2015]约数个数和
Description 设d(x)为x的约数个数,给定N.M,求 Input 输入文件包含多组测试数据. 第一行,一个整数T,表示测试数据的组数. 接下来的T行,每行两个整数N.M. Output T ...
- 【刷题】LOJ 6000 「网络流 24 题」搭配飞行员
题目描述 飞行大队有若干个来自各地的驾驶员,专门驾驶一种型号的飞机,这种飞机每架有两个驾驶员,需一个正驾驶员和一个副驾驶员.由于种种原因,例如相互配合的问题,有些驾驶员不能在同一架飞机上飞行,问如何搭 ...
- Linux相关——记录gdb基本操作(持续更新)
-----------2018.9.26更新标记----------- gdb的确是个很强大的东西啊,这里记录一下gdb的基本操作吧 后续可能会补充,但暂时感觉够用了就不写多了. 首先是ubuntu终 ...
- Android指纹识别API讲解,让你有更好的用户体验
我发现了一个比较怪的现象.在iPhone上使用十分普遍的指纹认证功能,在Android手机上却鲜有APP使用,我简单观察了一下,发现Android手机上基本上只有支付宝.微信和极少APP支持指纹认证功 ...
- Navicat使用教程:获取MySQL中的高级行数(第2部分)
Navicat Premium是一个可连接多种数据库的管理工具,它可以让你以单一程序同时连接到MySQL.Oracle及PostgreSQL数据库,让管理不同类型的数据库更加的方便. 在上篇文章中,我 ...
- oracle的学习笔记
Oracle的介绍 1. Oracle的创始人----拉里•埃里森 2. oracle的安装 [连接Oracle步骤](](https://img2018.cnblogs.com/blog/12245 ...
- 解题:SCOI 2011 糖果
题面 能把差分约束卡死的题,因为正解并不是差分约束,然而被我用一种奇怪的姿势过去了... 差分约束就是相等互相连零边,不超过/不低于从不多的一方向另一方连零边,超过/低于从少的一方向另一方连最小的边权 ...