c# 文件读取和写入

文件写入

using System.Collections.Generic;
namespace demo1;

/// <summary>
/// System.IO下的所有的Stream类是所有数据流的基类
/// 流是用于传输数据的对象,流就是用来传输数据的
/// 数据传输的两种方式:1、数据从外部源传输到程序中,这种叫做读取流,2、数据从程序中传输到外部源,这种叫做写入流
/// 流一般具有三种操作:
/// 读取操作:读出流对象中的数据,并且把它存放在另外一个数据结构中
/// 写入操作:从一种数据结构中读取数据并且存放在流对象中
/// 搜索操作:从流中当前位置搜索到指定位置
/// </summary>
class proj
{
    

    internal static void Main(string[] args)
    {
        //文件流:用来实现对文件的读取和写入。

        //文本文件的写入和读取
        //FileStream类的对象只能以字节的形式读取和写入数据
        //StreamReader类允许直接将字符和字符串写入文件,一般不针对二进制数据

        string path = "E:\\Desktop\\c#\\ConsoleApp1\\ConsoleApp1\\hello.txt";
        string mystr = "我爱你";
        //一般先创建FileStream对象,然后创建StreamWriter对象
        FileStream fs = new FileStream(path, FileMode.OpenOrCreate);
        StreamWriter sw=new StreamWriter(fs);
        sw.WriteLine(mystr);
        sw.Close();
        Console.WriteLine("写入完成");

        
        
    }
}

文件的读取

using System.Collections.Generic;
namespace demo1;
using System.IO;
/// <summary>
/// System.IO下的所有的Stream类是所有数据流的基类
/// 流是用于传输数据的对象,流就是用来传输数据的
/// 数据传输的两种方式:1、数据从外部源传输到程序中,这种叫做读取流,2、数据从程序中传输到外部源,这种叫做写入流
/// 流一般具有三种操作:
/// 读取操作:读出流对象中的数据,并且把它存放在另外一个数据结构中
/// 写入操作:从一种数据结构中读取数据并且存放在流对象中
/// 搜索操作:从流中当前位置搜索到指定位置
/// </summary>
class proj
{
    

    internal static void Main(string[] args)
    {
        //文件流:用来实现对文件的读取和写入。

        //文本文件的写入和读取
        //FileStream类的对象只能以字节的形式读取和写入数据
        //StreamReader类允许直接将字符和字符串写入文件,一般不针对二进制数据

        string path = "E:\\Desktop\\c#\\ConsoleApp1\\ConsoleApp1\\hello.txt";
        //string mystr = "我爱你";
        //一般先创建FileStream对象,然后创建StreamWriter对象
        //FileStream fs = new FileStream(path, FileMode.OpenOrCreate);
        //StreamWriter sw=new StreamWriter(fs);
        //sw.WriteLine(mystr);
        //sw.Close();
        //Console.WriteLine("写入完成");

        //StreamReader类  用于从文件中读取数据,该类是一个通用类,可以用于任意流
        FileStream fs=new FileStream(path,FileMode.OpenOrCreate);
        string str = "";
        StreamReader sr = new StreamReader(fs);
        str=sr.ReadLine();
        sr.Close();
        Console.WriteLine(str); 



        
        
    }
}


二进制文件的写入与读取

using System.Collections.Generic;
namespace demo1;
using System.IO;
/// <summary>
/// System.IO下的所有的Stream类是所有数据流的基类
/// 流是用于传输数据的对象,流就是用来传输数据的
/// 数据传输的两种方式:1、数据从外部源传输到程序中,这种叫做读取流,2、数据从程序中传输到外部源,这种叫做写入流
/// 流一般具有三种操作:
/// 读取操作:读出流对象中的数据,并且把它存放在另外一个数据结构中
/// 写入操作:从一种数据结构中读取数据并且存放在流对象中
/// 搜索操作:从流中当前位置搜索到指定位置
/// </summary>
class proj
{
    

    internal static void Main(string[] args)
    {
        Console.WriteLine("二进制文件的写入");
        Console.WriteLine("请输入文件名");
        string path=Console.ReadLine();
        //初始化FileStream对象
        FileStream fs=new FileStream(path, FileMode.OpenOrCreate);
        //初始化一个BinaryWriter对象
        BinaryWriter bw=new BinaryWriter(fs);
        int a = 40;
        double b = 3.14;
        bool c = true;
        string d = "hello world";

        //写入文件
        bw.Write(a);
        bw.Write(b);
        bw.Write(c);
        bw.Write(d);

        Console.WriteLine("成功写入");
        bw.Close();  //关闭BinaryWriter对象
        fs.Close();  //关闭文件流

        Console.WriteLine("二进制文件的读取");
        BinaryReader br=new BinaryReader(new FileStream(path,FileMode.Open));

        int e = br.ReadInt32();
        Console.WriteLine("int 型整型数据\t{0}",e);
        double f = br.ReadDouble();
        Console.WriteLine("double 数据 \t{0}",f);
        bool g = br.ReadBoolean();
        Console.WriteLine("bool 数据 \t{0}", g);
        string h = br.ReadString();
        Console.WriteLine("字符串类型数据\t{0}", h);
        br.Close();
        Console.WriteLine("读取完成");
    }
}


c#遍历文件夹

using System.Collections.Generic;
namespace demo1;
using System.IO;
using System.Drawing;

class proj
{

    internal static void Main(string[] args)
    {

        DirectoryInfo dir = new DirectoryInfo("E:\\Desktop\\c#\\data");
        FileSystemInfo[] fs=dir.GetFileSystemInfos();

        foreach(FileSystemInfo i in fs)
        {
            if ( i is DirectoryInfo)
            {
                Console.WriteLine("是文件夹{0}",i.FullName);
                string [] a=Directory.GetFiles(i.FullName);
                foreach (string s in a)
                { 
                    Console.WriteLine("文件:{0}",s);
                }
            }
            else
            {
                Console.WriteLine("不是文件夹{0}",i.FullName);
                FileStream fb=File.OpenRead("E:\\Desktop\\c#\\data\\data\\apple_1.jpg");
                int file_lenth=(int)fb.Length;
                Byte[] image = new Byte[file_lenth]; //建立一个字节数组
                fb.Read(image,0, file_lenth );//按字节流读取
            }
        }

    }
}


在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

技术互联 创新交流 | 广汽研究院举办技术交流会圆满落幕

技术互联 创新交流 2023年11月1日&#xff0c;同星智能走进广汽研究院技术交流会圆满举行并落下帷幕。本次技术交流会得到广汽研究院相关部门的大力支持&#xff0c;并邀请到多名人员参与&#xff0c;涉及其技术、研发等部门。 本次活动的举办意义重大&#xff0c;目前广汽研究…

如何把A3 pdf 文章打印成A4

1. 用Adobe Acrobat 打开pdf 2 打印 选择海报 进行调整即可如下图,见下面红色的部分。

互联网医院源码搭建部署功能

互联网将医院与患者、医院内部&#xff08;医生、护士、领导层&#xff09;、医院与生态链上的各类组织机构连接起来。以患者为中心&#xff0c;优化医院业务流程&#xff0c;提升医疗服务质量与医院资源能效&#xff0c;让患者通过移动互联网随时随地的享受医院的服务&#xf…

练习八-利用有限状态机进行时序逻辑的设计

利用有限状态机进行时序逻辑的设计 1&#xff0c;任务目的&#xff1a;2&#xff0c;RTL代码&#xff0c;及原理框图3&#xff0c;测试代码&#xff0c;输出波形 1&#xff0c;任务目的&#xff1a; &#xff08;1&#xff09;掌握利用有限状态机实现一般时序逻辑分析的方法&am…

vue3中使用v-html解析后table表格的线不展示

在vue3中使用v-html展示富文本内容时&#xff0c;表格的框线不展示 在使用网上关于 ::v-deep /deep/ 各种用法之后&#xff0c;还是不生效 最后直接在scoped模式下的style&#xff0c;重新建一个&#xff0c;scoped模式会影响内部重新设置表格的样式

报名仅剩一周!课程直播和1V1指导助力文心一言插件开发赛事冲榜

百度联合CCF大数据与计算智能大赛发布文心一言插件设计与开发赛题&#xff0c;初赛倒计时最后一周&#xff01; 为了帮助各位选手完善插件功能设计&#xff0c;冲击更好名次&#xff0c;在11月23日24点前提交初赛作品的前20个队伍&#xff0c;可以获得1v1技术方案指导和百度精…

利用SVD对图像进行压缩

利用SVD对图像进行压缩 使用SVD能够对数据进行降维&#xff0c;对图像进行SVD&#xff0c;降维之后然后重构数据&#xff0c;还原后的图像就是压缩后的图像。 SVD SVD进行图像压缩所依据的数学原理就是矩阵的近似表示&#xff1a; A m n ≈ U m k ∑ k k V k n T A_{m\…

Java入门篇 之 内部类

本篇碎碎念&#xff1a;本篇没有碎碎念&#xff0c;想分享一段话&#xff1a; 你不笨&#xff0c;你只是需要时间&#xff0c;耐心就是智慧&#xff0c;不见得快就好&#xff0c;如果方向都不对&#xff0c;如果心术不正&#xff0c;如果德不配位&#xff0c;快就是对自己天分的…

Go——二、变量和数据类型

Go 一、Go语言中的变量和常量1、Go语言中变量的声明2、如何定义变量方式1&#xff1a;方式2&#xff1a;带类型方式3&#xff1a;类型推导方式定义变量方式4&#xff1a;声明多个变量总结 3、如何定义常量4、Const常量结合iota的使用 二、Golang的数据类型1、概述2、整型2.1 类…

Windows配置全局代理

一. Windows下为PowerShell/CMD/Git设置代理 —————————————————————————————————————————————————————— 二. [WinError 10061] 由于目标计算机积极拒绝&#xff0c;无法连接。 keyerror:192。 HTTP Error 403: Forbidd…

python实战—数据分析与图表1(QQ群聊天数据分析) lv2

目录 一、核心代码解释 二、代码 三、运行截图 一、核心代码解释 1、readlines() 方法 描述 readlines() 方法用于读取所有行(直到结束符 EOF)并返回列表&#xff0c;该列表可以由 Python 的 for... in ... 结构进行处理。 如果碰到结束符 EOF 则返回空字符串。 语法 r…

Monitor 原理

每个 Java 对象都可以关联一个 Monitor 对象&#xff0c;如果使用 synchronized 给对象上锁&#xff08;重量级&#xff09;之后&#xff0c;该对象头的 Mark Word 中就被设置指向 Monitor 对象的指针。 Monitor组成内容 EntryList&#xff08;入口列表&#xff09; 当一个线…

STM32F4串口USART发送为00的解决方案

检查接线是否正确检查TX是否为复用推挽输出 3.检查是否将TX和RX引脚重映射为USART功能 在STM32中&#xff0c;每个GPIO引脚可以配置为不同的复用功能&#xff0c;例如UART、SPI、I2C等。具体来说&#xff0c;GPIO_PinAFConfig函数用于配置GPIO引脚的复用功能。它的参数包括GPIO…

ANSYS中如何手动为装配体添加接触约束教程

接触的类型&#xff1a; 在接触类型&#xff08;Type&#xff09;选项中&#xff0c;软件共提供了绑定接触&#xff08;Bonded&#xff09;、不分离接触&#xff08;No Separation&#xff09;、无摩擦接触&#xff08;Frictionless&#xff09;、粗糙接触&#xff08;Rough&a…

新一代最强开源UI自动化测试神器Playwright(Java版)(对话框处理)

&#x1f3ad;Playwright让网页对话框&#x1f310;&#x1f4ac;处理变得更加快捷&#xff01;网页对话框是在网页上出现的常见弹窗&#xff0c;包括Alert、Confirm和Prompt等。这些对话框通常需要用户输入信息或进行某些选择&#xff0c;但是在自动化测试中处理它们可能会很棘…

全球首款容器计算产品重磅发布,激活上云用云新范式

云布道师 10 月 31 日&#xff0c;杭州云栖大会上&#xff0c;阿里云云原生应用平台负责人丁宇宣布&#xff0c;阿里云容器计算服务 ACS 正式发布&#xff01;ACS 将大幅降低企业和开发者用云门槛&#xff0c;真正将 Serverless 理念大规模落地。 容器计算服务 ACS&#xff0c…

fractional Brownian Motion driven stochastic integrals

See https://mathoverflow.net/questions/304366/fractional-brownian-motion-driven-stochastic-integrals

程序员如何“升级打怪”?我用了这几个“歪瓜”!

不会吧&#xff1f;不会吧&#xff1f;计算机本命专业出身、以及半路出家的&#xff0c;混了几年了&#xff0c;还在新手村&#xff1f;对得起这几年摸的鱼&#xff1f; 思考一下&#xff1a;如何从小白一跃为大师&#xff0c;从此走上人生巅峰、迎娶白富美&#xff1f;变强只…

高速数据时代的引领者:ETU-LINK 100G DAC全系列技术简介

伴随科技的不断进步&#xff0c;我们正迅速迈向一个高速数据时代。在这个时代&#xff0c;数据的传输速度已经成为发展的重要因素之一。ETU-LINK推出的100G DAC全系列产品&#xff0c;助力高速数据传输领域的新一轮发展。 一、100G DAC全系列产品解析 100G QSFP28 DAC无源高速…

【Python】给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。

问题描述 给出一个包含n个整数的数列&#xff0c;问整数a在数列中的第一次出现是第几个。 输入格式 第一行包含一个整数n。 第二行包含n个非负整数&#xff0c;为给定的数列&#xff0c;数列中的每个数都不大于10000。 第三行包含一个整数a&#xff0c;为待查找的数。 输出格式…