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

    }
}


在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一壶浊酒..

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值