栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

C#读取路径下文件

Java 更新时间:发布时间: 百科书网 趣学号

在我读取数据时需要读取路径下所有的excel文件,所以用到了这个记录一下

Directory.GetFiles方法

命名空间:System.IO
重载
GetFiles(String path)
参数:path:目录的相对路径或绝对路径
返回值:返回指定目录中文件的名称(包括其路径)。

GetFiles(String path, String searchPattern)
参数:path:目录的相对路径或绝对路径
searchPattern:与path中的文件名匹配的搜索字符串。 此参数可以包含有效文本路径和通配符(* 和 ?)的组合,不 支持正则表达式
返回值:返回指定目录中与指定的搜索模式匹配的文件的名称(包含其路径)。

GetFiles(String path, String searchPattern, EnumerationOptions enumerationOptions)
参数:path:目录的相对路径或绝对路径
searchPattern:与path中的文件名匹配的搜索字符串。 此参数可以包含有效文本路径和 通配符(* 和 ?)的组合,不支持正则表达式
EnumerationOptions: 描述要使用的搜索和枚举配置的对象。
返回值:返回指定目录中与指定的搜索模式和枚举选项匹配的文件的名称(包括其路径)。

GetFiles(String path, String searchPattern, SearchOption searchOption)
参数:path:目录的相对路径或绝对路径
searchPattern:与path中的文件名匹配的搜索字符串。 此参数可以包含有效文本路径和 通配符(* 和 ?)的组合,不支持正则表达式
SearchOption: 用于指定搜索操作是应包含所有子目录还是仅包含当前目录的枚举值之一。
返回值:返回指定目录中与指定的搜索模式匹配的文件的名称(包含其路径)。

例子:

public static void ReadAllExcel()
    {
        string str = System.Environment.CurrentDirectory;
        string [] filePath = Directory.GetFiles(str, "*.xls", SearchOption.AllDirectories);
        foreach(string path in filePath)
        {
        	do some things;
        }
    }
Directory.EnumerateFiles 方法

命名空间:System.IO
重载
EnumerateFiles(String path)
参数:path:目录的相对路径或绝对路径
返回值:一个可枚举集合,它包含 path 指定的目录中与指定的搜索模式和搜索选项匹配的文件的完整名称(包括路径)。

EnumerateFiles(String path, String)
参数:path:目录的相对路径或绝对路径
searchPattern:与path中的文件名匹配的搜索字符串。 此参数可以包含有效文本路径和 通配符(* 和 ?)的组合,不支持正则表达式
返回值:一个可枚举集合,它包含 path 指定的目录中与指定的搜索模式和搜索选项匹配的文件的完整名称(包括路径)。

EnumerateFiles(String path, String searchPattern, EnumerationOptions enumerationOptions)
参数:path:目录的相对路径或绝对路径
searchPattern:与path中的文件名匹配的搜索字符串。 此参数可以包含有效文本路径和 通配符(* 和 ?)的组合,不支持正则表达式
EnumerationOptions: 描述要使用的搜索和枚举配置的对象。
返回值:返回一个可枚举集合,它包含 path 指定的目录中与指定的搜索模式和枚举选项匹配的文件的完整名称(包括路径)。

EnumerateFiles(String path, String searchPattern, SearchOption searchOption)
参数:path:目录的相对路径或绝对路径
searchPattern:与path中的文件名匹配的搜索字符串。 此参数可以包含有效文本路径和 通配符(* 和 ?)的组合,不支持正则表达式
SearchOption: 指定搜索操作是应仅包含当前目录还是应包含所有子目录的枚举值之一。 默认值是 TopDirectoryOnly。
返回值:一个可枚举集合,它包含 path 指定的目录中与指定的搜索模式和搜索选项匹配的文件的完整名称(包括路径)。

例子:

using System;
using System.Linq;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        try
        {
            // LINQ query for all .txt files containing the word 'Europe'.
            var files = from file in Directory.EnumerateFiles(@"\archives1library", "*.txt")
                where file.ToLower().Contains("europe")
                select file;

            foreach (var file in files)
            {
                Console.WriteLine("{0}", file);
            }
            Console.WriteLine("{0} files found.", files.Count().ToString());
        }
            
        catch (UnauthorizedAccessException UAEx)
        {
            Console.WriteLine(UAEx.Message);
        }
        catch (PathTooLongException PathEx)
        {
            Console.WriteLine(PathEx.Message);
        }
    }
}

两者区别
使用时 EnumerateFiles ,可以在返回整个集合之前开始枚举名称的集合; 使用时 GetFiles ,必须等待返回整个名称数组,然后才能访问数组。 因此,在处理多个文件和目录时, EnumerateFiles 可能更高效。

再加个获取当前程序工作目录的方法

Directory.GetCurrentDirectory 方法

命名空间:System.IO
Directory.GetCurrentDirectory()
返回值:一个字符串,该字符串包含当前工作目录的绝对路径且不以反斜杠 () 结尾。

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/275859.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号