c# 读取 txt 文件中数据(int)

今天在学图的算法做测试是,需要读取文本文件中的点坐标,本来很简单的事情,折腾了半天,记录一下找到的一种简单粗暴的解决方法,以便以后查看。

 第一种方法 : StringReader

	string line = "";
using (StreamReader sr = new StreamReader("graph.txt")) // 读取文件所在路径{while (!sr.EndOfStream) // 判读是否读完{line = sr.ReadLine(); // 读取一行string[] points = line.Split(' '); // 拆分当前行foreach (string item in points) // 转换 string 为 int{int.TryParse(item, out int vertice);Console.Write(vertice + " ");}}}

 

第二种方法:BinaryReader (转换为二进制文件读取)

 

            BinaryWriter bw;BinaryReader br;string line = "";bw = new BinaryWriter(new FileStream("converFromGraph", FileMode.Create));using (StreamReader sr = new StreamReader("graph.txt")){while (!sr.EndOfStream){line = sr.ReadLine();string[] points = line.Split(' ');foreach (string point in points){int.TryParse(point, out int vertice);bw.Write(vertice);    // 写入二进制文件}}}bw.Close();// 读取二进制文件br = new BinaryReader(new FileStream("mydata.dat", FileMode.Open));br.BaseStream.Seek(0, SeekOrigin.Begin);try{while (true) // 读完所有文件{int x = br.ReadInt32();Console.WriteLine(x);}}catch(System.IO.EndOfStreamExceptio)  // 读取文件完成,报异常{Console.WriteLine("读写完成");}

 

数据类型与字节长度:

byte -> System.Byte   (字节型, 占 1 个字节, 表示 8 位正整数, 范围 0 ~ 255)

char ->  System.Char  (字符型, 占 2 个字节, 表示一个 unicode 字符)

short -> System.Int16  (短整型, 占 2 个字节, 表示 16 位整数, 范围 -32,768 ~ 32,767)

uint ->  System.Uint32 (无符号整型, 占 2 个字节, 表示 16 位正整数, 范围 0 ~ 4,294,967,295)

int ->    System.Int32    (整型, 占 4 个字节, 表示 32 位整数, 范围 -2,147,483,648 ~ 2,147,483,647)

short  -> System.Int16 (短整型, 占 2 个字节, 表示  16 位整数,  -32,768 ~ 32,767)

float -> system.Single (单精度浮点型, 占 4 个字节)

double -> System.Double (双精度浮点型, 占 8 个字节)

 

转载于:https://www.cnblogs.com/yaolin1228/p/8410377.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/267631.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

艾伟_转载:使用Lambda表达式编写递归函数

前言 著名的牛顿同学曾经说过:如果说我比别人看得更远些,那是因为我站在了巨人的肩上. 原文:If I have been able to see further, it was only because I stood on the shoulders of giants. Whats Lambda表达式? 请参考msdn:Lambda 表达式…

android 模拟器read-only file system,WAC启动Android模拟器 transfer error: Read-only file system错误解决方法...

这两天在用WAC SDK开发Widget时,在启动Android模拟器时Eclipse的Consle出现如下错误:[2011-11-27 22:08:49 - ddms]transfer error: Read-only file system然后Widget无法安装和执行!在参考了官方论坛上的相同问题的一个帖子后,也…

spring5.0.2中文官网文档pdf

下载地址:网盘下载Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。本参考指南提供了有关spring5.0.2的详细信息。它全面的介绍了Spring的所有的功能&#x…

IT销售素质 -- 自信进取

到外企面试过销售职位的人都知道“aggressive ”这个英文词。这个词的意思是“侵略的,爱寻衅的,敢做敢为的,有进取心的”。经理们希望销售们都够“aggressive”,意思就是要他们个个都积极进取,主动进攻。 销售是一…

android判断sd u盘,[Android Framework]获取U盘 SD 状态

Android 4.4 SD 和 U盘 的状态通过获取StorageVolume 类来判断 是sd还是U盘。我们来看一下这个类package android.os.storage;import android.content.Context;import android.os.Parcel;import android.os.Parcelable;import android.os.UserHandle;import com.android.intern…

A1032. 画三角形2

问题描述 找出下面给出图形的规律&#xff0c;给出n&#xff0c;画一个n行的对应图形。ABABCBABCDCBABCD输入格式输入包含一个数n。1<n<20输出格式输出与上图类似n行的图形。样例输入4样例输出ABABCBABCDCBABCDpackage www.tsinsen.com;import java.util.Scanner;public …

分析java中文乱码的原因

在java开发中都能遇到java中文乱码的情况&#xff0c;怎样才能够恰当地选择汉字编码方式并正确地处理汉字的编码呢?希望通过下面的总结的java中文乱码解决方法对遇到过此类问题的朋友有所帮助。 首先&#xff0c;要想解决java中文乱码问题就有必要了解一下什么是字符&#xff…

html中写随机数,为HTML生成一个随机数

你的问题是相当含糊&#xff0c;你需要什么&#xff0c;但这里是产生两个变量之间的随机数&#xff0c;然后一个Javascript的解决方案设置一个内容是&#xff1a;JS&#xff1a;var link document.getElementById(getNumber); // Gets the linklink.onclick getNumber; // Ru…

51Nod1469 淋漓尽致子串

首先&#xff0c;我们来定义一下淋漓尽致子串。 1.令原串为S。2.设子串的长度为len&#xff0c;在原串S中出现的次数为k&#xff0c;令其出现的位置为p1&#xff0c; p2&#xff0c; ....pk(即这个子串在原串中[pi&#xff0c;pi len - 1]中出现)。 3.若k1&#xff0c;则该子串…

Android运行Socket项目时出现错误 Error: ShouldNotReachHere()

在Android项目中实现Socket通信&#xff0c;服务器端使用main方法创建ServerSocket&#xff0c;运行启动服务器时报错“Error: ShouldNotReachHere() ”。 原因分析&#xff1a;java中使用main函数作为应用程序的接口&#xff0c;class的生命周期始于main方法&#xff0c;终于m…

腾讯测试鸿蒙系统,爆料:荣耀 30 Pro已开始测试华为鸿蒙系统

某数码博主今日放出了一张华为内部关于荣耀 30 Pro 测试 HarmonyOS 的截图&#xff0c;图片显示该机正运行基于 HarmonyOS 2.0 开发者测试版的系统。此外&#xff0c;他还透露荣耀 30 系列、V30 系列、Play4 Pro 下个月将升级到华为鸿蒙系统。华为在 2019 年开发者大会上正式推…

程序员跳槽全攻略pdf

下载地址&#xff1a;网盘下载和那些职场鸡汤不同&#xff0c;本书从价值论开始&#xff0c;引入职业画布&#xff0c;从九大方面为你讲解&#xff1b;有分析数据、有简历模板、有书写工具、有技能树图&#xff0c;堪称一本公司老板和HR最害怕你看到的跳槽百科。作者Easy为互联…

数字阅读体验的平台距离我们还有多远?

随着互联网的兴起&#xff0c;越来越多原本基于传统载体的信息内容也正在发生巨大的转变&#xff0c;当电子书和智能手机等载体开始承担阅读方式的时候&#xff0c;数字阅读的时代也正在全面来临。从近年来逐渐兴起的各种终端设备载体的发展历程来看&#xff0c;这个时代的来临…

使用MapReduce将HDFS数据导入Mysql

使用MapReduce将Mysql数据导入HDFS代码链接 将HDFS数据导入Mysql,代码示例 package com.zhen.mysqlToHDFS;import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sq…

html多行文本框下拉,html基础-表单控件、密码框、单选按钮、复选框、多行文本框、下拉列表、按钮(提交、图片、重置)...

表单的介绍(将前端页面表单的值发送给后台&#xff0c;后台通过表单中name属性取值)可以获取客户端的信息(数据)&#xff0c;表单有各种各样的控件&#xff0c;输入框&#xff0c;复选框 按钮等表单的功能&#xff1a;交互功能表单的工作原理&#xff1a;浏览有表单的页面&…

Lync Server 2010的部署系列_第七章 部署边缘服务器(上)

一、配置边缘支持的内部DNS记录 1) 登录DC.Gianthard.com&#xff08;192.168.1.11&#xff09;。在相应的 DNS 服务器上&#xff0c;依次单击“开始”、“控制面板”、“管理工具”&#xff0c;然后单击“DNS”。 2) 在 SIP 域的控制台树中&#xff0c;展开“正向查找区域”&a…

iOS扩大按钮的点击范围

// 重写此方法将按钮的点击范围扩大 - (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {CGRect bounds self.bounds;// 扩大点击区域bounds CGRectInset(bounds, -20, -20);// 若点击的点在新的bounds里面。就返回yesreturn CGRectContainsPoint(bounds, poin…

html5 txt文件上传,JavaScript html5利用FileReader实现上传功能

本文实例为大家分享了H5利用FileReader上传文件的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下1. Html部分文件上传演练Browse...2. JS部分var result document.getElementById("result");var input document.getElementById("file_input");…

判断标签是否出界,重新设置样式

//样式重置&#xff0c;因为会获取到上次设置的样式 $(#releaseData).css({ "height": "auto", "bottom": "auto" }); //获取底部位置 var bottom$("#releaseData").css("bottom"); if (bottom.toString().indexO…

一起谈.NET技术,ASP.NET 请求处理流程

HTTP处理流程图 以上流程的一些概念解释&#xff1a; 1.http.sys 是一个位于Win2003和WinXP SP2中的操作系统核心组件&#xff0c;能够让任何应用程序通过它提供的接口&#xff0c;以http协议进行信息通讯。 温馨提示&#xff1a;如果用户不慎删除了该驱动文件&#xff0c;不用…