c#-IO和序列化操作
IO
用到的命名空间:using System.IO;
文件和目录的管理!
File类
FileInfo类
Directory类
DirectoryInfo类
操作文件的类!
FileStream{
Seek(偏移的位置,参考位置);
CopyTo(流对象); 等
}
StreamWrite
StreamReader
BinaryWrite
BinaryReader
FileStream是对二进制的文件进行操作的,功能很强大,可以对任意文件进行操作(所有文件在计算机底层都是二进制数).
StreamWrite 和 StreamReader是对文本文件进行操作的!可以使用FileStream的对象,作为参数,也可以不使用(建议使用)!
BinaryWite和BinaryReader是对内置类型进行<写入和读取>到文件的,必须使用FileStream的对象作为参数!
Using()用于定义一个范围,在此范围的末尾将释放对象,也可以手工释放对象,如:fs.close();
序列化
用到的命名空间:using System.Runtime.Serialization.Formatter.Binary;
序列化的作用:当需要永久存储程序中的对象的时候,我们可以使用序列化来完成!
序列化:把程序中的对象写入到文件中叫序列化.
反序列化:把文件中的对象读取回来到程序中叫反序列化
注意:文件读写可以做和序列化同样的工作,但是序列化会更方便
BinaryFormatter是序列化和反序列化的类!
Serialize(流对象,要序列话的对象);//序列化
Object obj = Deserialize(流对象);//反序列化
序列的步骤:
1:创建要序列化的对象
2:创建流对象
3:创建BinaryFormatter 的对象(用来序列化)
4:使用BinaryFormatter 的对象调用Serialize序列化对象
反序列化的步骤:
1:添加添加序列化的对象的类库
2:Using该类库的命名空间
3:创建流对象
4:创建BinaryFormatter的对象(用来反序列化)
5:使用BinaryFormatter的对象调用Deserialize反序列化对象
c#-IO和序列化操作的更多相关文章
- Java 持久化之 --io流与序列化操作
1)File类操作文件的属性 1.File类的常用方法 1. 文件的绝对完整路径:getAbsolutePath() 文件名:getName() 文件相对路径:getPath() 文件的上一级目录:g ...
- java.io.Serializable 序列化接口
什么是序列化.反序列化? Serialization(序列化)是一种将对象以一连串的字节描述的过程: 反序列化deserialization是一种将这些字节重建成一个对象的过程. 序列化通俗一点说就是 ...
- Netty学习二:Java IO与序列化
1 Java IO 1.1 Java IO 1.1.1 IO IO,即输入(Input)输出(Output)的简写,是描述计算机软硬件对二进制数据的传输.读写等操作的统称. 按照软硬件可分为: 磁盘I ...
- Java Io 对象序列化和反序列化
Java 支持将任何对象进行序列化操作,序列化后的对象文件便可通过流进行网络传输. 1. 对象序列化就是将对象转换成字节序列,反之叫对象的反序列化 2. 序列化流ObjectOut ...
- Java---IO加强(3)-IO流的操作规律
一般写关于操作文件的读取的几个通用步骤!!! 1.明确源和目的. 源:InputStream Reader 一定是被读取的. 目的:OutputStream Writer 一定是被写入的. 2.处理的 ...
- Asp.Net Core 2.0 项目实战(8)Core下缓存操作、序列化操作、JSON操作等Helper集合类
本文目录 1. 前沿 2.CacheHelper基于Microsoft.Extensions.Caching.Memory封装 3.XmlHelper快速操作xml文档 4.Serializatio ...
- 第四节:IO、序列化和反序列化、加密解密技术
一. IO读写 这里主要包括文件的读.写.移动.复制.删除.文件夹的创建.文件夹的删除等常规操作. 注意:这里需要特别注意,对于普通的控制台程序和Web程序,将"相对路径"转换成& ...
- IO流常规操作
IO流 IO就是输入输出,IO设备在计算机中起着举足轻重的作用,IO流也就是输入输出流,用来交互数据,程序和程序交互,程序也可以和网络等媒介交互. 一.IO流的分类 要分类,肯定得站得不同角度来看这个 ...
- 序列化工具类({对实体Bean进行序列化操作.},{将字节数组反序列化为实体Bean.})
package com.dsj.gdbd.utils.serialize; import java.io.ByteArrayInputStream; import java.io.ByteArrayO ...
随机推荐
- 原码、反码、补码及位操作符,C语言位操作
计算机中的所有数据均是以二进制形式存储和处理的.所谓位操作就是直接把计算机中的二进制数进行操作,无须进行数据形式的转换,故处理速度较快. 1.原码.反码和补码 位(bit) 是计算机中处理数据的最小单 ...
- linux下关闭防火墙命令
今天使用linux虚拟机搭建jenkins,但是在虚拟机内部使用浏览器可以访问jenkins主页,在物理机上却无法访问jenkins主页,查找原因后是因为linux虚拟机没有关闭防火墙,关闭防火墙后, ...
- 如何调用写好的指定模块?——sys.path
python之sys模块详解 sys模块功能多,我们这里介绍一些比较实用的功能,相信你会喜欢的,和我一起走进python的模块吧! sys模块的常见函数列表 sys.argv: 实现从程序外部向程序传 ...
- 移动端页面怎么适配ios页面
1.viewport 简单粗暴的方式:<meta name="viewport" content="width=320,maximum-scale=1.3,user ...
- Java面向对象之内部类(访问格式)
一.基础概念 1.内部类是定义在类中的类.A类需要直接访问B类中的成员时,可以将A类定义到B类中,作为B类的内部类存在. 2.内部类可以相当于外部类中的一个成员,可以被成员修饰符所修饰.(如:publ ...
- Python里面的负号的各种神奇用法?来填坑啦
1.x.reshape(-1,2) x = np.linspace(1,10,10) x.reshape(-1,2) reshape(-1,2)里-1的应该是不管多少行,按两列算,行数自动算出.同理, ...
- php 百万级数据文件导出
背景:最近一个需求是从mysql里面读取数据(有点大),然后导出为csv文件 问题 :发现导出的过程中自己中断了,没有报错 . 第一反应是测试导出一个小一点的数据(少查几条),发现没问题 . 查看导出 ...
- 设置placeholder的样式
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */ color: #f00; } ::-moz-placeholder { /* Mozilla Fir ...
- P4320 道路相遇
[Luogu4320] 必经点数==圆方树上两点路径上圆点数 也就等于边数/2+1 没什么好说的 , 看代码 #include<cstdio> #include<iostream&g ...
- openLayers地图缩放的回调
//设置地图最小缩放级别为17级 map.events.register("zoomend", this, function (e) { //每次地图缩放时就会进入到这 if (m ...