使用 Stream 类管理字节流

使用 FileStream 类管理文件数据

使用 MemoryStream 类管理内存数据

使用 BufferedSream 类提高流性能

 

3.1

FileStream

 

 

MemoryStream

Seek 定位,寻址

 

 

BufferedStream

 

 

 

3.2 管理应用程序数据

文本、流、字符串和二进制数据

管理文本数据和字符串

(1)TextReader 类 (抽象类)

(2)TextWriter 类  (抽象类)

管理字符串

使用 binaryReader 和 BinaryWrter 管理二进制数据

3.2.1.文件操作

       //真的关联到某一个文件
//StreamReader对文本文件:读 <--父类:Stream
//StreamWriter对文本文件:写 <--父类:Stream
string file = @"F:\text.txt";
FileStream fs = File.Open(file, FileMode.OpenOrCreate);
StreamWriter sw = new StreamWriter(fs); sw.WriteLine("现在是:{0},", DateTime.Now);
sw.Flush();
sw.Close(); StreamReader sr = new StreamReader(File.Open(file, FileMode.Open));
Console.WriteLine(sr.ReadToEnd());

 

3.2.2.字符串操作

         //在内存中,把string当作文件来操作
//StringReader对string:读 <--TextReader
//StringWriter对string:写 <--TextWiter
StringBuilder sb = new StringBuilder(); StringWriter sws = new StringWriter(sb);
sws.WriteLine(123 + 321);
sws.WriteLine(true);
StringReader srr = new StringReader(sb.ToString());
Console.WriteLine(srr.ReadToEnd());

 

3.2.3.二进制操作

        //二进制
BinaryWriter bw = new BinaryWriter(File.Open(@"F:\a.dat", FileMode.OpenOrCreate));
bw.Write(true);
bw.Write('A');
bw.Write(123); bw.Flush();
bw.Close(); //读取的时候要按照顺序
BinaryReader br = new BinaryReader(File.Open(@"F:\a.dat", FileMode.Open));
Console.WriteLine(br.ReadBoolean()); //对应true
Console.WriteLine(br.ReadChar()); //对应'A'
Console.WriteLine(br.ReadInt32()); //对应123

 

C#回顾 - 3.NET的IO:字节流的更多相关文章

  1. JAVA IO 字节流与字符流

    文章出自:听云博客 题主将以三个章节的篇幅来讲解JAVA IO的内容 . 第一节JAVA IO包的框架体系和源码分析,第二节,序列化反序列化和IO的设计模块,第三节异步IO. 本文是第一节.     ...

  2. C#回顾 - 2.NET的IO:Path、File、FileInfo、Directory、DirectoryInfo、DriveInfo、FileSystemWatcher

        1.管理文件系统 一般而言,应用程序都会有保存数据.检索数据的需求. 1.1 使用 path 类来访问文件路径 [path常用的方法]:http://www.cnblogs.com/tangg ...

  3. Java学习之IO字节流

    字节流分为FileInputStream 和FileOutputStream package com.io; import java.io.File; import java.io.FileInput ...

  4. Java提高篇(二):IO字节流、字符流和处理流

    在我们的Java语言当中,通常会有对文件进行读写,因此我们引入java的IO类来进行文件的读写. 一.字节流 下面是一个字节流的实例: import java.io.*; public class I ...

  5. Java学习笔记28(IO字节流)

    IO定义: 写:Output操作:将内存上的数据持久化 到设备上,这个动作称为输出: 读:Input操作:把硬盘上的东西读取到内存,这个动作称为输入:              这两种操作称为IO流 ...

  6. 14、IO (字节流、字符流)

    输入和输出 * A:输入和输出 * a: 参照物 * 到底是输入还是输出,都是以Java程序为参照 * b: Output * 把内存中的数据存储到持久化设备上这个动作称为输出(写)Output操作 ...

  7. IO字节流。

    字节输出流: java.io.OutputStream :抽象类,是表示输出字节流的所有类的父类. java.io.FileOutputStream extends OutputStream: 文件字 ...

  8. Java IO 字节流与字符流 (五)

    Java的IO流分为字符流(Reader,Writer)和字节流(InputStream,OutputStream),字节流顾名思义字节流就是将文件的内容读取到字节数组,然后再输出到另一个文件中.而字 ...

  9. Java IO 字节流与字符流 (三)

    概述 IO流用来处理设备之间的数据传输 Java对数据的操作时通过流的方式 Java用于操作流的对象都在IO包中 流按操作的数据分为:字节流和字符流 流按流向不同分为:输入流和输出流 IO流常用基类 ...

随机推荐

  1. Python验证Url地址的正则表达式

    如下是django中做url验证的正则表达式: regex = re.compile( r'^(?:http|ftp)s?://' # http:// or https:// r'(?:(?:[A-Z ...

  2. PHP面向对象常见的关键字和魔术方法

    在PHP5的面向对象程序设计中提供了一些常见的关键字,用来修饰类.成员属性或成员方法,使他们具有特定的功能,例如final.static.const等关键字.还有一些比较实用的魔术方法,用来提高类或对 ...

  3. Button圆角处理

    <?xml version="1.0" encoding="UTF-8"?> <selector xmlns:android="ht ...

  4. log4j 配置

    给java项目添加log4j日志: 1.下载log4j jar包,放入lib目录, 导入项目中 2.创建log4j.properties 文件  目录 Src 3.在需要使用输出的类中使用 priva ...

  5. (转)一个JavaWeb项目开发总结

    原文地址:http://www.cnblogs.com/lzb1096101803/p/4907775.html 一.学会如何读一个JavaWeb项目源代码 步骤:表结构->web.xml-&g ...

  6. 解决ubuntu下安装mysql使用service无法启动问题

    启动的时候发现service mysql start Rather than invoking init scripts through /etc/init.d, use the service(8) ...

  7. tornado + supervisor + nginx 的一点记录

    看了比较多的blog基本都是这个架构: supervisor ------------ app1 |-------app2 |-------.... |-------appn |-------ngin ...

  8. Droid4x安装busybox

      下载Busybox                                                                                         ...

  9. 应用HTK搭建语音拨号系统1:数据准备

    选自:http://maotong.blog.hexun.com/6204849_d.html 应用HTK搭建语音拨号系统--数据准备 苏统华 哈尔滨工业大学人工智能研究室 2006年10月30日 声 ...

  10. phpcms模板标签整理

    {template "content","header"} 调用根目录下phpcms\template\content\header文件 {CHARSET} 字 ...