C#中File和FileStream的简单介绍和用法

前言

在近期的工作过程中发现自己的基础比较薄弱,所以最近在恶补基础知识。下面就对我所学习的File类和FileStream进行简单的总结。

1.首先先介绍File类和FileStream文件流

1.1  File类,是一个静态类,支持对文件的基本操作,包括创建,拷贝,移动,删除和打开一个文件。File类方法的参量很多时候都是路径path。主要提供有关文件的各种操作,在使用时需要引用System.IO命名空间。

1.2  FileStream文件流 只能处理原始字节(raw byte)。FileStream 类可以用于任何数据文件,而不仅仅是文本文件。FileStream 对象可以用于读取诸如图像和声音的文件,FileStream读取出来的是字节数组,然后通过编码转换将字节数组转换成字符串。

1.3 区别:file:是一个文件的类,对文件进行操作的;filestream:文件流.对txt,xml等文件写入内容的时候需要使用的一个工具.打个形象的比喻.file是笔记本,需要filestream的这个笔才能写.

2.代码部分

2.1 File类创建Txt

 string path = @"C:\Users\Administrator\Desktop\1.txt";
 File.Open(path, FileMode.OpenOrCreate);

2.2 File类Txt拼接内容

 List<string> users = new List<string>();
   users.Add("张三|1000");
   users.Add("李四|10000");
   users.Add("王五|5000");
   users.Add("赵六|6000");
    File.AppendAllLines(path, users, Encoding.Default);

2.3  File类字节形式读取txt文档

byte[] buttf = File.ReadAllBytes(path);
string str = Encoding.Default.GetString(buttf, 0, buttf.Length);

2.4 File类实现txt员工工资加倍

 string[] filestr = File.ReadAllLines(path, Encoding.Default);
 for (int i = 0; i < filestr.Length; i++)
  {
  string[] str = filestr[i].Split('|');
  filestr[i] = str[0] + "|" + (Convert.ToDouble(str[1]) * 2).ToString();
  }
  File.AppendAllLines(path, filestr, Encoding.Default);

2.5 File类常用方法

3.文件流

3.1文件流文字形式读取

 byte[] bytsize = new byte[1024 * 1024 * 5];
   using (FileStream stream = new FileStream(path, FileMode.OpenOrCreate,FileAccess.ReadWrite))
   {
    while (true)
    {
     int r = stream.Read(bytsize, 0, bytsize.Length);
     //如果读取到的字节数为0,说明已到达文件结尾,则退出while循
     if (r == 0)
     {
      break;
     }

     string str = Encoding.Default.GetString(bytsize, 0, r);
     Console.WriteLine(str);
    }
   }

3.2文件流文字形式写入

 string str = "今天天气好晴朗,处处好风光";
   byte[] buttf = Encoding.Default.GetBytes(str);
   //文件流的写入
   using (FileStream fscreat = new FileStream(path, FileMode.Append, FileAccess.Write))
   {

    fscreat.Write(buttf, 0, buttf.Length);
   }

3.3文件流视频形式复制

 byte[] bytsize = new byte[1024 * 1024 * 5];
string videoPath = @"C:\Users\Administrator\Desktop\1、练习1-3.avi";
   string videoNewPath = @"C:\Users\Administrator\Desktop\1.avi";
   //创建读取流
   using (FileStream fsread=new FileStream(videoPath,FileMode.Open,FileAccess.Read))
   {
    //创建写入流
    using (FileStream fswrite=new FileStream(videoNewPath,FileMode.OpenOrCreate,FileAccess.Write))
    {
      while (true)
     {
     //返回实际读取到的字节
     int r = fsread.Read(bytsize, 0, bytsize.Length);
     //当字节位0的时候 证明已经读取结束
     if(r==0){
      break;
     }
     fswrite.Write(bytsize,0,r);

    }
    }

   }

因为刚开始学习所以有些不足,希望各位大佬可以指正。

总结

到此这篇关于C#中File和FileStream的简单介绍和用法的文章就介绍到这了,更多相关C#中File和FileStream用法内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • C#使用FileStream复制一个任意文件

    FileStream,顾名思义,文件流.流,是字节流.我的理解是,硬盘上存在一个字节流,内存里也有一个字节流,它们是对应的.程序运行时,我们只能对内存里的字节流直接操作,在它被关闭的时候,它的内容自动写入硬盘上的相应字节流. 复制一个文件的基本思路是:逐一读取原文件流的字节,逐一写入新文件流中.分别用到文件流的ReadByte()和WriteByte()方法.这里要注意的是,读取时以字节为单位,一个字节如下图所示 是一个0和1组合的序列.ReadByte()读取一个字节后将这个序列求值,返回的是

  • C# FileStream读写的文本操作代码分析

    FileStream对象表示在磁盘或网络路径上指向文件的流. 可以使用FileStream 类对文件系统上的文件进行读取.写入.打开.关闭等. 废话不说,开始操作. 1.拖好控件.必须滴,将除了要写文件的文本框外,其他的文本框的 ReadOnly 属性均设为 True ! 2.开始"选择文件"操作 privatevoid btnReadChoose_Click(object sender, EventArgs e) { //创建 打开文件 对话框,可以直接拖控件哈.. OpenFile

  • C#使用FileStream循环读取大文件数据的方法示例

    本文实例讲述了C#使用FileStream循环读取大文件数据的方法.分享给大家供大家参考,具体如下: 今天学习了FileStream的用法,用来读取文件流,教程上都是读取小文件,一次性读取,但是如果遇到大文件,那么我们就需要循环读取文件. 直接上代码. 引用命名空间 using System.IO; 下面就是循环读取大文件的代码 class Program { static void Main(string[] args) { //循环读取大文本文件 FileStream fsRead; //获

  • C# FileStream简单介绍和使用

    本章讲述:FileStream类的基本功能,以及简单示例: 1.引用命名空间:using System.IO; 2.注意:使用IO操作文件时,要注意流关闭和释放问题! 强力推荐:将创建文件流对象的过程写在using当中,会自动帮助我们释放资源; 使用try{} catch(Exception ex){} 进行一次捕获: 3.FileStream 操作字节,可以操作任何类型的文件:下面来简单介绍FileStream类的方法和参数: (1)FileStream()    作用:创建FileStrea

  • C#流类FileStream学习使用笔记

    static void Main(string[] args) { //创建FileStream对象需要指定 文件名,打开模式,访问模式,共享模式 //1.调用本身的构造函数创建流 FileStream fs1 = new FileStream(@"F:\1.txt", FileMode.Open, FileAccess.ReadWrite,FileShare.ReadWrite); //2.利用File类或者FileInfo类的Open方法 //FileStream fs2 = Fi

  • C# FileStream实现多线程断点续传

    一.前言 网上有许多的多线程断点续传操作,但总是写的很云里雾里,或者写的比较坑长.由于这几个月要负责公司的在线升级项目,所以正好顺便写了一下 代码如下: using System; using System.Collections.Generic; using System.IO; using System.Threading.Tasks; namespace TestCenter { class Program { static void Main(string[] args) { strin

  • C# FileStream文件读写详解

    FileStream对象表示在磁盘或网络路径上指向文件的流.这个类提供了在文件中读写字节的方法,但经常使用StreamReader或StreamWriter执行这些功能.这是因为FileStream类操作的是字节和字节数组,而Stream类操作的是字符数据.字符数据易于使用,但是有些操作,比如随机文件访问(访问文件中间某点的数据),就必须由FileStream对象执行,稍后对此进行介绍. 还有几种方法可以创建FileStream对象.构造函数具有许多不同的重载版本,最简单的构造函数仅仅带有两个参

  • C#使用FileStream对象读写文件

    在项目开发中经常会涉及到对文件的读写,c# 提供了很多种方式来对文件进行读写操作,今天来说说FileStream 对象. FileStream表示在磁盘或网络路径上指向文件的流.一般操作文件都习惯使用StreamReader 和 StreamWriter,因为它们操作的是字符数据 .而FileStream 对象操作的是字节和字节数组.有些操作是必须使用FileStream 对象执行的,如随机访问文件中间某点的数据. 创建FileStream 对象有许多不同的方法,这里使用文件名和FileMode

  • 几分钟搞懂c#之FileStream对象读写大文件(推荐)

    还是一样,我先上代码,但是为了你们测试结果和我一样,必须先有准备工作,否则会找不到目录或者文件就没有效果: 既然是读取大文件,那么这个文本必须存在 现在来看目标目录 其实这里的文本文件可以删除,因为我们写入文本数据的时候的模式是当没有找到文件就创建新的. 下面上的上代码 "` using System; using System.Collections.Generic; using System.IO; using System.Reflection; using System.Text; na

  • C#基础知识之FileStream

    一.FileStream的基础知识 属性:          CanRead 判断当前流是否支持读取,返回bool值,True表示可以读取          CanWrite 判断当前流是否支持写入,返回bool值,True表示可以写入 方法:          Read() 从流中读取数据,返回字节数组          Write() 将字节块(字节数组)写入该流          Seek() 设置文件读取或写入的起始位置          Flush() 清除该流缓冲区,使得所有缓冲的数

随机推荐