大家新年快乐吖  (¯▽¯;)

这是一个包含所有代码的示例  可直接运行,主要包含了文件读写时二进制数据流和字符数据的处理
并且我都写了很详细的注释 方便大家也方便自己学习

using System;
using System.Net.NetworkInformation;
using System.Text;
using System.IO;namespace ConsoleApplication1
{class Program{static void Main(string[] args){binaryWriteRead();//copy();//Console.WriteLine("复制完成");//txtRead();}//二进制读写综合应用(适合搞啥子序列化啊游戏数据保存之类的)//注意本实例里的内存变化字节数等static void binaryWriteRead(){//写入磁盘(在内存中是output 因为是输出到外部设备 )//操作系统中stream是以内存为参照的FileStream fs = File.Create("保存");System.IO.BinaryWriter writer = new BinaryWriter(fs);Random rdm = new Random();for (int i = 0; i < 10; i++)//int32 4字节X10{int num = rdm.Next();writer.Write(num);Console.WriteLine("写入整数:{0}", num);}char[] data = { 'h', 'e', 'l', 'l', 'o' };writer.Write(data);Console.WriteLine("写入:hello");writer.Write('-');//46字节//写入26个字母的ascii码//如果读取的时候使用的是streamReader 则读取的是对应ascii的字母for (byte i = 97; i < 97 + 26; i++)writer.Write(i);Console.WriteLine("写入字母a~z");writer.Write('\n');//71字节Console.WriteLine("------------------------------------------");fs.Flush();fs.Close();writer.Close();//-------------------------------------------------------------//读取(在内存中是input)fs = File.OpenRead("保存");BinaryReader reader = new BinaryReader(fs);//读取26个字母fs.Seek(46, SeekOrigin.Begin);for (byte i = 97; i < 97 + 26; i++)Console.Write(reader.ReadChar());//读取10个整数fs.Seek(-72, SeekOrigin.Current);Console.WriteLine();//int 代表 System.Int32 4个字节 //如果writer.Write(true) 实际上也是写入一个字节:0x0001 //字节是基本单位byte[] numData = new byte[4];for (int i = 0; i < 10; i++){reader.Read(numData, 0, 4);Console.WriteLine("读取整数:{0}", byteArToLong(numData));//手工对byte数组进行转换//Console.WriteLine("读取整数:{0}", reader.ReadInt32());}reader.Close();fs.Close();}static int getNum(byte[] bytes)//二进制转十进制(我帖子里留言那位兄弟滴代码很牛x ^_^){//long型数据类型为8字节int num = 0;int n = Math.Min(bytes.Length, 4) - 1;for (int i = n; i > -1; i--)num = (num << 8) | bytes[i];//num = (num<<8) + bytes[i];return num;}//字节数组转长整型(二进制转十进制)static long byteArToLong(byte[] bytes){//int [] nums= {1,256,512,1024,2048,4096,8192,16384,32768,65536,131072,262144};//当时我的代码是这样写的哈遇到大的数字就要出问题,一个字节8位应该是8的平方 而我写的确是2的平方//不过上面那位留言的高手只顾自己开心了这么明显的错误也没看出来//int srcData = 312705998;//比如上面的int值在内存中是0x12a383ce 的形式存储的//但是他在文件中存储确是反过来的(低位在前 高位在后)//如果我一次读取4字节就是下面的形式//byte []data = {0xce,0x83,0xa3,0x12};int[] nums = { 1, 256, 65536, 16777216 };if (bytes.Length > nums.Length)throw new Exception("溢出");long num = 0;for (int i = 0; i < bytes.Length; i++)num += (bytes[i] * nums[i]);return num;}static void copy()//文件拷贝(二进制读写){FileStream fs = File.OpenRead("d:/新建文件夹 (2).zip");FileInfo copys = new FileInfo("d:/复件.zip");FileStream fsCopy = copys.Create();byte[] data = new byte[10];int reds;while ((reds = fs.Read(data, 0, data.Length)) > 0)fsCopy.Write(data, 0, reds);fs.Flush();fsCopy.Close();fs.Close();}static void txtRead()//文本读取{//ANSI编码是个很蛋疼的东西 //比如utf-8还有其他编码存储的文本文件最开始会有两个字节用来识别编码的//而ANSI没有 但是ANSI是经过扩了展的有汉字编码//以前曾试过自己直接通过读取二进制再解码的方式来做 但是真滴很麻烦//还是这样比较方便 偷懒 O(∩_∩)O哈哈~FileStream fs = File.Open(@"d:/a.cs", FileMode.Open);StreamReader reader = new StreamReader(fs);string data;while ((data = reader.ReadLine()) != null)Console.WriteLine(data);}}}

转载于:https://www.cnblogs.com/assassinx/archive/2012/02/09/2344535.html

文件读写以及数据处理相关推荐

  1. matlab读入txt数据_教程合集 | MATLAB文件读写(以nc与txt为例)

    周一到!我们又和大家见面啦!最近几周的主题是,有了数据,那我们怎么读写数据文件呢?气象中的特殊资料又有哪些处理方法呢?以txt和nc文件做引子,欢迎各位拍砖~ No.1 基础通用知识 读写文件时有一些 ...

  2. pom.xml文件第一行报错_Python文件读写指南

    作者:豌豆花下猫,某985高校毕业生, 兼具极客思维与人文情怀 .公众号[Python猫], 专注python技术.数据科学和深度学习,力图创造一个有趣又有用的学习分享平台. 对于初学者来说,一份详尽 ...

  3. flutter 生成文档_flutter 如何实现文件读写(使用篇)

    flutter文件读写可以对磁盘文件进行操作,实现某些业务场景,那么我们开始来讲下这个文件读写操作. 使用的库插件(package) dart:io(用于数据处理) path_provider (用于 ...

  4. python 使用 with open() as 读写文件-给Python学习者的文件读写指南(含基础与进阶)...

    对于初学者来说,一份详尽又清晰明白的指南很重要.今天,猫猫跟大家一起,好好学习Python文件读写的内容,这部分内容特别常用,掌握后对工作和实战都大有益处.学习是循序渐进的过程,欲速则不达.文章较长, ...

  5. python基础 实战作业 ---Excel基本读写与数据处理

    代码地址如下: http://www.demodashi.com/demo/11650.html 看完本篇需要: 10min 作业练习需要: 0.5h~3h(依练习者对python熟悉程度而定) 看完 ...

  6. 章节十六:编码和文件读写

    章节十六:编码和文件读写 目录 章节十六:编码和文件读写 1. 编码 1.1 二进制 1.2 编码表 1.3 encode()和decode() 2. 文件读写 2.1 读取文件 2.2 写入文件 2 ...

  7. matlab读文件函数程序,Matlab 文件读写函数

    MATLAB中的文件 m文件: 命令行方式程序可读性差,而且不能存储,对于复杂的问题,应编写成能存储的程序文件.包含matlab语言代码的文件称为m文件,其扩展名为m. 用户如想灵活应用matlab去 ...

  8. python-day7-数据操作+TXT文件读写操作

    python-day7-数据操作 一.数据分析 (一)定义 数据分析,指用专业的统计分析方法对大量数据进行分析,并加以详细研究和概括总结,提取有价值的信息,形成有效的分析结论,从而影响业务决策. (二 ...

  9. 【Python 基础教程 20】全面掌握Python3输入输出:从入门到高级的实用指南(文件读写,Excel读写,Markdowm文件读写)

    目录标题 1. 简介 1.1 Python3 输入输出的定义 1.2 输入输出的重要性和常见应用场景 2. 标准输入输出 2.1 介绍标准输入(stdin) 2.2 介绍标准输出(stdout) 2. ...

最新文章

  1. J2EE环境的搭建之二—oracle的安装与详解
  2. 在哪里学python好-为什么要学Python,Python好在哪里?
  3. Imagine,is real crazy!
  4. django rest framework------得心应手
  5. 项目管理纵横谈(1)──项目的管理的目标
  6. 计算机办公软件技能大赛试题,第七届计算机技能大赛办公软件操作比赛顺利举行...
  7. How to install plugin for Eclipse from .zip
  8. 达摩院里的女Leader,一面温柔似水一面灿烂如阳
  9. php sql取数据生成数组中,php中实现数组生成要执行的sql语句
  10. php 5.2.17 中文乱码,php5.2 Json中文乱码解决方法
  11. JedisPool.getResource()方法卡死的解决办法
  12. DeFi 保险协议InsurAce将于3月15日在Balancer开启代币首发
  13. 很多IP摄像头厂商都在用的固件中存在多个严重漏洞
  14. C++对象产生和销毁的顺序
  15. linux如何查icsci进程,linux13问
  16. 使用docker run的选项以覆盖Dockerfile中的设置详解
  17. wps android 安装包下载地址,WPS Office手机版下载安装_WPS Office下载软件安卓版13.0.1...
  18. 腾讯专访 | 子芽:代码疫苗技术,赋能数字化应用内生安全自免疫
  19. Java实现word转HTML
  20. JAVA将图片转成base64导出到word中

热门文章

  1. python多久能上手_小白学习Python,怎样能够快速入门上手
  2. mysql xplugin_mysql 5.7.12 新增 X plugin 详解
  3. vs-halcon-大恒相机配置
  4. js倒计时代码最简单的_32个史上最有用的js代码
  5. python面试题之“该死的for循环系列”(二)
  6. Android镜像文件的拆解
  7. js之操作JSON数据
  8. Android Toast自己定义Toast例子
  9. linux主辅DNS的搭配
  10. 利用日志审计追踪APT***