c# 文件读取和写入

news2024/9/29 19:21:26

文件写入

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 );//按字节流读取
            }
        }

    }
}


在这里插入图片描述

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

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

相关文章

微服务实战系列之加密RSA

前言 在这个时代&#xff0c;我们选择的人生目标已丰富多彩&#xff0c;秉持的人生态度也千差万别&#xff1a; 除了吃喝玩乐&#xff0c;还有科技探索&#xff1b; 除了CityWalk&#xff0c;还有“BookWalk”&#xff1b; 除了走遍中国&#xff0c;还有走遍世界&#xff1b; …

Me-and-My-Girlfriend-1

Me-and-My-Girlfriend-1 一、主机发现和端口扫描 主机发现&#xff0c;靶机地址192.168.80.147 arp-scan -l端口扫描&#xff0c;开放了22、80端口 nmap -A -p- -sV 192.168.80.147二、信息收集 访问80端口 路径扫描 dirsearch -u "http://192.168.80.147/" -e * …

Linux进程通信——消息队列

概念 消息队列&#xff0c;是消息的链接表&#xff0c;存放在内核中。一个消息队列由一个标识符(即队列ID)来标识。 特点 1.消息队列是面向记录的&#xff0c;其中的消息具有特定的格式以及特定的优先级。&#xff08;消息队列是结构体&#xff09; 2.消息队列独立于发送与接…

企业app软件定制开发的重点是什么?|小程序网站搭建

企业app软件定制开发的重点是什么&#xff1f;|小程序网站搭建 在当今数字化时代&#xff0c;企业对于信息技术的依赖越来越大。为了适应市场需求并提高内部运营效率&#xff0c;许多企业开始寻求定制开发企业app软件。这种定制开发可以根据企业的具体需求和业务流程进行个性化…

MySQL InnoDB 引擎底层解析(二)

6.2.InnoDB 的表空间 表空间是一个抽象的概念&#xff0c;对于系统表空间来说&#xff0c;对应着文件系统中一个或多个实际文件&#xff1b;对于每个独立表空间来说&#xff0c;对应着文件系统中一个名为表名.ibd 的实际文件。大家可以把表空间想象成被切分为许许多多个页的池…

数据库基础入门 — SQL

我是南城余&#xff01;阿里云开发者平台专家博士证书获得者&#xff01; 欢迎关注我的博客&#xff01;一同成长&#xff01; 一名从事运维开发的worker&#xff0c;记录分享学习。 专注于AI&#xff0c;运维开发&#xff0c;windows Linux 系统领域的分享&#xff01; 本…

n-皇后问题(DFS回溯)

n−皇后问题是指将 n 个皇后放在 nn的国际象棋棋盘上&#xff0c;使得皇后不能相互攻击到&#xff0c;即任意两个皇后都不能处于同一行、同一列或同一斜线上。 现在给定整数 n&#xff0c;请你输出所有的满足条件的棋子摆法。 输入格式 共一行&#xff0c;包含整数 n。 输出…

Python的安装及其python程序生成exe可执行程序

Python是一种高级编程语言&#xff0c;由Guido van Rossum在1989年12月首次发布。它具有简单易学、易读、易写的语法和强大的动态类型和垃圾回收机制。Python解释器是自由且开放源代码的软件&#xff0c;可以在各种操作系统&#xff08;如Linux、Windows、macOS等&#xff09;上…

SSM框架(一):Spring 容器

文章目录 一、Spring Framework系统框架二、IoC控制反转 与 DI依赖注入 简单入门三、Bean3.1 Bean的配置3.2 实例化Bean的四种方式3.3 Bean的生命周期 四、依赖注入4.1 setter注入4.2 构造器注入4.3 注入方式选择4.4 依赖自动装配4.5 集合注入4.6 案例&#xff1a;配置数据库4.…

软件设计中如何画各类图之一实体关系图(ER图):数据库设计与分析的核心工具

目录 1 前言2 符号及作用&#xff1a;3 绘制清晰的ER图步骤4 实体关系图的用途5 使用场景6 实际应用场景举例7 结语 1 前言 当谈到数据库设计与分析的核心工具时&#xff0c;实体关系图&#xff08;ER图&#xff09;无疑是其中最重要的一环。在软件开发、信息管理以及数据库设…

Android codec2 视频框架之输出端的内存管理

文章目录 前言setSurfacestart从哪个pool中申请buffer解码后框架的处理流程renderOutbuffer 输出显示 前言 输出buffer整体的管理流程主要可以分为三个部分&#xff1a; MediaCodc 和 应用之间的交互 包括设置Surface、解码输出回调到MediaCodec。将输出buffer render或者rele…

可用于短期风速预测及光伏预测的LSTM/ELM预测程序

微❤关注“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 程序内容&#xff1a; 该程序是预测类的基础性代码&#xff0c;程序对河北某地区的气象数据进行详细统计&#xff0c;程序最终得到pm2.5的预测结果&#xff0c;通过更改数据很容易得到风速预测结果。程序主要…

U盘系统制作

一、简介 目标&#xff1a;将Linux和Windows系统装进U盘&#xff0c;linux称为LTG、Windows称为WTG 环境&#xff1a; 1、使用Rufus工具进行操作 2、基于windows系统进行Rufus软件进行制作 3、使用联想Y7000作为测试U盘系统启动测试机器&#xff08;无系统盘&#xff09; 优点…

CAD文件转奥维 转shapefile

之前写过一篇CAD转ArcGIS 其实万变不离其宗&#xff0c;都是经纬度知识的应用。 背景是当我们拿到一份带有坐标的CAD文件如何转换为矢量文件。 首先我们要明白XY坐标系的含义。 X—real X-500000 为近距离标准经线的距离。 y 为距离赤道的距离。 X 429174.3048 Y 32313…

Java 多线程之 volatile(可见性/重排序)

文章目录 一、概述二、使用方法三、测试程序3.1 验证可见性的示例3.2 验证指令重排序的示例 一、概述 在Java中&#xff0c;volatile 关键字用于修饰变量&#xff0c;其作用是确保多个线程之间对该变量的可见性和禁止指令重排序优化。 当一个变量被声明为volatile时&#xff0…

暴力求解欲哭无泪之保安问题

身为程序员哪一个瞬间让你最奔溃&#xff1f; > 提醒&#xff1a;在发布作品前&#xff0c;请把不需要的内容删掉。 方向一&#xff1a;身为程序员遇到过的奔溃瞬间 写题目想到第一个方法便是暴力求解,然后少情况 题目如下: 方向二&#xff1a;如何解决遇到的奔溃瞬间 不…

Arduino驱动Si7021温湿度传感器(温湿度传感器)

目录 1、传感器特性 2、控制器和传感器连线图 3、驱动程序 Si7021温湿度传感器,应用了专用的数字模块采集技术和温湿度传感技术,具有极高的可靠性与卓越的长期稳定性。同时其体积小巧、精度高,特别是拥有毫秒级测试转换时间(DHT系列需要约2s的转换时间),启动测量与读…

2023.11.19使用flask制作一个文件夹生成器

2023.11.19使用flask制作一个文件夹生成器 实现功能&#xff1a; &#xff08;1&#xff09;在指定路径上建立文件夹 &#xff08;2&#xff09;返回文件夹的路径和建立成功与否的提示 main.py import os from flask import Flask, request, jsonify, render_templateapp F…

生态系统NPP及碳源、碳汇模拟实践技术应用

由于全球变暖、大气中温室气体浓度逐年增加等问题的出现&#xff0c;“双碳”行动特别是碳中和已经在世界范围形成广泛影响。碳中和可以从碳排放&#xff08;碳源&#xff09;和碳固定&#xff08;碳汇&#xff09;这两个侧面来理解。陆地生态系统在全球碳循环过程中有着重要作…