c# 以二进制读取文本文件
发布时间:2023-02-28 15:23:26
标签:c#,二进制,文本文件
using System;
using System.IO;
public class FileApp
{
public static void Main()
{
// 在当前目录创建一个文件myfile.txt,对该文件具有读写权限
FileStream fsMyfile = new FileStream("myfile.txt" , FileMode.Create, FileAccess.ReadWrite);
// 创建一个数据流写入器,和打开的文件关联
StreamWriter swMyfile = new StreamWriter(fsMyfile);
// 以文本方式写一个文件
swMyfile.WriteLine("Hello, World");
swMyfile.WriteLine("abcdefghijklmnopqrstuvwxyz");
swMyfile.WriteLine("ABCDEFGHIJKLMNOPQRSTUVWXYZ");
swMyfile.WriteLine("0123456789");
// 冲刷数据(把数据真正写到文件中去)
// 注释该句试试看,程序将报错
swMyfile.Flush();
// 以文本方式读文件
// 创建一个数据流读入器,和打开的文件关联
StreamReader srMyfile= new StreamReader(fsMyfile);
// 把文件指针重新定位到文件的开始
srMyfile.BaseStream.Seek(0, SeekOrigin.Begin);
// 打印提示信息
Console.WriteLine("****************以文本方式读文件*********************");
// 打印文件文本内容
string s1;
while((s1 = srMyfile.ReadLine())!=null)
{
Console.WriteLine(s1);
}
Console.WriteLine();
// 以文本方式读文件结束
// 以二进制方式读文件
// 创建一个二进制数据流读入器,和打开的文件关联
BinaryReader brMyfile= new BinaryReader (fsMyfile);
// 把文件指针重新定位到文件的开始
brMyfile.BaseStream.Seek(0, SeekOrigin.Begin);
// 打印提示信息
Console.WriteLine("****************以二进制方式读文件*********************");
// 打印文件文本内容
Byte b1;
while(brMyfile.PeekChar()>-1)
{
b1=brMyfile.ReadByte();
// 13为"\n",表示回车;10为"\r",表示换行
if(b1 != 13 && b1 != 10)
{
Console.Write("{0}",b1.ToString());
Console.Write(".");
}
else
{
Console.WriteLine();
}
}
Console.WriteLine("\n");
// 以二进制方式读文件结束
// 关闭以上new的各个对象
brMyfile.Close();
srMyfile.Close();
fsMyfile.Close();
// 读取文件属性
// 打印提示信息
Console.WriteLine("****************读取文件属性*********************");
FileInfo fiMyfile=new FileInfo("myfile.txt");
Console.WriteLine("文件名 : {0}",fiMyfile.Name);
Console.WriteLine("文件名(含路径) : {0}",fiMyfile.FullName);
Console.WriteLine("文件大小(bytes) : {0}",fiMyfile.Length);
Console.WriteLine("文件创建时间 : {0}",fiMyfile.CreationTime);
}
}
0
投稿
猜你喜欢
- 什么是自动装箱和拆箱自动装箱就是Java自动将原始类型值转换成对应的对象,比如将int的变量转换成Integer对象,这个过程叫做装箱,反之
- 快速排序------------------------------------------------------------------
- 第一,这货速度太快,第二,模仿真机环境,第三,秒杀任何Android模拟器包括真机,不多说上图,我忒忙! 官网:http://www.gen
- 1.用法介绍方式一:DatatypeConverter说明:使用jdk自带的DatatypeConverter.java类实现,但是jdk版
- idea 鼠标悬浮显示详情2020 版 idea 之前file -> settings设置如下 2020 版 idea 之后
- 在kotlin中可以不用使用findViewById来初始化控件,但是在给EditText赋值时使用editText.text = &quo
- 1、 定义头和根元素部署描述符文件就像所有XML文件一样,必须以一个XML头开始。这个头声明可以使用的XML版本并给出文件的字符编码。DOC
- 本文实例为大家分享了C#线程中弹窗的制作代码,供大家参考,具体内容如下首先建立一个ShowFrom窗体,窗体中放入两个按钮分别为确定和取消分
- 目录1、两阶段终止模式介绍2、Terminator代码演示3、TerminationRequester4、模拟客户端或者服务端都可能终止服务
- 当我们需要与 NIO Channel 进行交互时, 我们就需要使用到 NIO Buffer, 即数据从 Buffer读取到 Channel
- 前台处理首先前台先要获取所有的要删除数据的ID,并将ID拼接成字符串 例如: 2,3,4,5,然后通过GET请求返送到后台。后台处理控制器接
- 本文就来说一说微信开发第一步,公众号接入以及access_token的管理。一、微信公众号接入在微信公众号开发手册上,关于公众号接入这一节内
- 本文实例为大家分享了Unity快速生成常用文件夹的具体代码,供大家参考,具体内容如下前言每次打开新工程创建文件夹都很麻烦,写了一个小工具代码
- 一、题目描述题目实现:使用套接字实现了服务器端与客户端的通信。运行程序,在服务器端的文本框中输入信息,然后按回车键,客户端就会收到服务器端发
- 项目需要去调用.NET的WebSrevice,本身是Java,研究了半天,终于有些头绪,记下来。1,新建.NET WebService。只在
- ThreadLocal类,代表一个线程局部变量,通过把数据放在ThreadLocal中,可以让每个线程创建一个该变量的副本。也可以看成是线程
- 最近项目里面做了一个定时器,结果报错这个。网上的原因大多说是什么版本问题。我记录下我的问题所在。由于项目启动在局域网,不能访问互联网。打出来
- 本文实例讲述了Android编程实现点击EditText之外的控件隐藏软键盘功能。分享给大家供大家参考,具体如下:工具类...public
- 本文实例讲述了C#实现闪动托盘图标效果的方法。分享给大家供大家参考,具体如下:在用户正在登录QQ或者使用Firemail邮件系统自动收取邮件
- 本文实例汇总了Java文件操作。分享给大家供大家参考,具体如下:1.创建文件夹//import java.io.*; File myFold