首页 > 编程语言 >C# File文件处理 相关方法

C# File文件处理 相关方法

时间:2023-03-07 13:25:21浏览次数:56  
标签:文件 String C# 路径 指定 File Directory

C# File文件处理 相关方法

在C# 程序开发中,我们往往会遇到很多文件上传,文件写入等对于文件的操作业务需要开发,文件处理也是任何应用程序的重要组成部分。C# 有几种创建,读取,更新和删除文件的方法。本文主要介绍C# File文件操作及常用的方法。

 

1、C# File文件处理

System.IO命名空间下,有各种不同的类我们可以处理文件。

 

I/O 类

描述

BinaryReader

从二进制流读取原始数据。

BinaryWriter

以二进制格式写入原始数据。

BufferedStream

字节流的临时存储。

Directory

有助于操作目录结构。

DirectoryInfo

用于对目录执行操作。

DriveInfo

提供驱动器的信息。

File

有助于处理文件。

FileInfo

用于对文件执行操作。

FileStream

用于文件中任何位置的读写。

MemoryStream

用于随机访问存储在内存中的数据流。

Path

对路径信息执行操作。

StreamReader

用于从字节流中读取字符。

StreamWriter

用于向一个流中写入字符。

StringReader

用于读取字符串缓冲区。

StringWriter

用于写入字符串缓冲区。

 

例如,

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace ConsoleApplication
{
   delegate int Calc(int i);  
    class Program
    {
        static void Main(string[] args)
        {
            string path="/home/cjavapy/";
            string s = "";
            if (!File.Exists(path))
                s = "不存在相应的目录";
            else
            {
                StreamReader f2 = new StreamReader(path, System.Text.Encoding.GetEncoding("gb2312"));
                s = f2.ReadToEnd();
                f2.Close();
                f2.Dispose();
            }
            Console.WriteLine(s);
        }
    }
}

 

2、文件创建相关方法

File.Create(String):在指定路径中创建或覆盖文件。

File.Create(String, Int32):在指定路径中创建或覆盖文件,指定缓冲区大小。

File.Create(String, Int32, FileOptions):创建或覆盖指定路径中的文件,指定缓冲区大小和一个描述如何创建或覆盖该文件的选项。

File.CreateText(String) :创建或打开用于写入 UTF-8 编码文本的文件。 如果该文件已存在,将覆盖其内容。

FileStream(String, FileMode, FileAccess, FileShare) :使用指定的路径、创建模式、读/写权限和共享权限创建 FileStream 类的新实例。

FileStream(String, FileMode, FileAccess, FileShare, Int32, FileOptions) :使用指定的路径、创建模式、读/写和共享权限、其他FileStreams 可以具有的对此文件的访问权限、缓冲区大小和附加文件选项初始化 FileStream 类的新实例。

FileStream(SafeFileHandle, FileAccess, Int32, Boolean):使用指定的读/写权限、缓冲区大小和同步或异步状态为指定的文件句柄初始化 FileStream 类的新实例。

FileStream(String, FileMode, FileAccess):使用指定的路径、创建模式和读/写权限初始化 FileStream 类的新实例。 

Directory.CreateDirectory(String):在指定路径中创建所有目录和子目录,除非它们已经存在。

3、文件删除相关方法

File.Delete(String):删除指定的文件。

Directory.Delete(String):从指定路径删除空目录。

Directory.Delete(String, Boolean):删除指定的目录,并删除该目录中的所有子目录和文件(如果表示)。

4、文件操作判断相关方法

File.Exists(String):确定指定的文件是否存在。

Directory.Exists(String) :确定给定路径是否引用磁盘上的现有目录。

5、文件夹操作相关方法

Path.ChangeExtension(String, String):更改路径字符串的扩展名。

Path.Combine(String, String):将两个字符串组合成一个路径。

Path.Combine(String, String, String):将三个字符串组合成一个路径。

Path.Combine(String, String, String, String):将四个字符串组合成一个路径。

Path.Combine(String[]):将字符串数组组合成一个路径。

Path.GetExtension(String):返回指定路径字符串的扩展名(包括句点“.”)。

Path.GetFullPath(String):返回指定路径字符串的绝对路径。

Directory.CreateDirectory(String):在指定路径中创建所有目录和子目录,除非它们已经存在。

Directory.GetDirectories(String):返回指定目录中的子目录的名称(包括其路径)。

Directory.GetDirectories(String, String):返回指定目录中与指定的搜索模式匹配的子目录的名称(包括其路径)。

Directory.GetFiles(String):返回指定目录中文件的名称(包括其路径)。

Directory.GetFiles(String, String) :返回指定目录中与指定的搜索模式匹配的文件的名称(包含其路径)。

Directory.GetFiles(String, String, EnumerationOptions):返回指定目录中与指定的搜索模式和枚举选项匹配的文件的名称(包括其路径)。

Directory.GetFiles(String, String, SearchOption):返回指定目录中与指定的搜索模式匹配的文件的名称(包含其路径),使用某个值确定是否要搜索子目录。

相关文档:

https://docs.microsoft.com/zh-cn/dotnet/api/system.io.path?view=net-5.0
https://docs.microsoft.com/zh-cn/dotnet/api/system.io.directory?view=net-5.0

6、文件操作示例代码

using System;
using System.IO;
class Test
{
    public static void Main()
    {
        string path = @"c:\temp\MyTest.txt";
        if (!File.Exists(path))
        {
            // 创建一个要写入的文件。
            using (StreamWriter sw = File.CreateText(path))
            {
                sw.WriteLine("Hello");
                sw.WriteLine("And");
                sw.WriteLine("Welcome");
            }
        }
        // 打开要从中读取的文件。
        using (StreamReader sr = File.OpenText(path))
        {
            string s;
            while ((s = sr.ReadLine()) != null)
            {
                Console.WriteLine(s);
            }
        }
    }
}
 

 

标签:文件,String,C#,路径,指定,File,Directory
From: https://www.cnblogs.com/GaoUpUp/p/17187775.html

相关文章

  • C# File文件处理 删除文件
    C#File文件处理删除文件 在C#程序开发中,我们往往会遇到很多文件上传,文件写入等对于文件的操作业务需要开发,文件处理也是任何应用程序的重要组成部分。C#有......
  • C# File文件处理 读文件
    C#File文件处理读文件在C#程序开发中,我们往往会遇到很多文件上传,文件写入等对于文件的操作业务需要开发,文件处理也是任何应用程序的重要组成部分。C#有几种创......
  • .NET(C#) 中的程序集
    .NET(C#)中的程序集 程序集构成了.NET应用程序的部署、版本控制、重用、激活范围和安全权限的基本单元。程序集是为协同工作而生成的类型和资源的集合,这些......
  • C# 特性标签(Attribute)
    C#特性标签(Attribute)公共语言运行时使你能够添加类似于关键字的描述性声明(称为特性),以便批注编程元素(如类型、字段、方法和属性)。.NET出于多种原因且为解决许......
  • C# 索引器
    C#索引器 索引器(Indexer)是C#引入的一个新型的类成员,它使得类中的对象可以像数组那样方便、直观的被引用。索引器非常类似于属性,但索引器可以有参数列表,且只......
  • C# 反射(Reflection)
    C#反射(Reflection)反射提供描述程序集、模块和类型的对象(Type类型)。可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型,然后调用......
  • C# 事件(event)
    C#事件(event) 事件是一种特殊的多播委托,仅可以从声明事件的类或结构中对其进行调用。类或对象可以通过事件向其他类或对象通知发生的相关事情。发送(或引发)事......
  • C# 委托(delegate)
    C#委托(delegate)委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-El......
  • RocketMQ高可用机制
    RocketMQ高可用机制集群部署模式1.单master模式2.多master模式配置配置文件broker.properties的brokerClusterName需要保持一致brokerId需要为0,0代表为0优缺点......
  • C# break和continue关键字
    C#break和continue关键字break跳出最里层的循环,并且继续执行该循环下面的语句。continue适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代......