C#中怎么读取文件夹中指定的格式文件,和文件信息

C#中怎么读取一个文件夹中所有的mp3文件,这个文件夹中还有别的文件,并读取mp3文件的歌手信息,时间信息FolderBrowserDialogbrowse=newFol... C# 中怎么 读取一个文件夹中 所有的mp3文件,这个文件夹中还有别的文件,并读取mp3文件的歌手信息,时间信息
FolderBrowserDialog browse = new FolderBrowserDialog();//这是选择一个文件夹的对话框

然后我选择了一个文件夹,(我希望加个条件或者方法),让这个文件夹中满足MP3格式的文件

自动导入到一个数组中

OpenFileDialog open = new OpenFileDialog(); //这个是选择文件的对话框 而已
展开
 我来答
yinzuo1988
推荐于2016-03-08 · TA获得超过116个赞
知道答主
回答量:72
采纳率:0%
帮助的人:65.7万
展开全部
DirectoryInfo dir = new DirectoryInfo(path);

FileInfo[] files = dir.GetFiles("*.mp3");
这样可以实现把指定文件夹内的mp3文件选出来,

但是FileInfo只有创建时间,没有歌手信息,

去网上找找看看有没有,封装特定格式的文件信息类
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
NA009
2015-09-08 · TA获得超过579个赞
知道小有建树答主
回答量:331
采纳率:0%
帮助的人:268万
展开全部
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
internal class Program
{
public static void Main(string[] args)
{
Console.WriteLine(ReaderDirectory(@"D:\文本文档", "*.txt"));
Console.Read();
}

/// <summary>
/// 读取指定目录下的所有文件
/// </summary>
/// <param name="path"></param>
/// <param name="filter"></param>
/// <returns></returns>
public static string ReaderDirectory(string path, string filter)
{
//判断目录是否正确
if (string.IsNullOrEmpty(path)) return string.Empty;
StringBuilder content = new StringBuilder();
//保存读取的内容
//如果过滤器(filter)为空,则默认读取所有文件的内容
if (string.IsNullOrEmpty(filter))
{
ReaderSubDirectory(path, filter, ref content);
}
else
{
//如果过滤器(filter)不为空,则获取被读取的文件
string[] filters = filter.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);

//读取每一个文件的内容
foreach (string fi in filters)
{
ReaderSubDirectory(path, fi, ref content);

}
}
return content.ToString();
}

/// <summary>
/// 读取子目录下的所有文件的内容
/// </summary>
/// <param name="path"></param>
/// <param name="filter"></param>
/// <param name="content"></param>
private static void ReaderSubDirectory(string path, string filter, ref StringBuilder content)
{
//判断目录是否正确
if (string.IsNullOrEmpty(path))
{
return;
}
//创建目录信息的实例
DirectoryInfo parentDi = new DirectoryInfo(path);
//读取当前目录及其子目录下的指定文件的内容, 都保存到content变量中

foreach (FileInfo fi in parentDi.GetFiles(filter, SearchOption.AllDirectories))
{
content.AppendLine();
content.Append(ReaderFile(fi.FullName));
content.AppendLine();
}
}

/// <summary> 读取文件的内容 </summary>
public static string ReaderFile(string path)
{
string fileData;
try
{
//读取文件的内容
StreamReader reader = new StreamReader(path, Encoding.Default);

fileData = reader.ReadToEnd();
reader.Close();
}
catch (IOException ex)
{
throw; //抛出异常
}

return fileData;
}
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sqc1999
2015-05-30 · TA获得超过272个赞
知道小有建树答主
回答量:419
采纳率:0%
帮助的人:351万
展开全部

用DirectoryInfo类的EnumerateFiles()方法,可以传入参数指定文件后缀名,枚举的是FileInfo类,可以获取文件信息。

foreach (var item in new DirectoryInfo("XXX").EnumerateFiles(".YYY")
//XXX为文件夹名,YYY为要枚举的文件的后缀名
{
    //item为FileInfo类,可以获取文件信息。
}

具体怎么用可以参见MSDN。

EnumerateFiles()方法:

https://msdn.microsoft.com/zh-cn/library/system.io.fileinfo(v=vs.110).aspx

FileInfo类:

https://msdn.microsoft.com/zh-cn/library/system.io.directoryinfo.enumeratefiles(v=vs.110).aspx

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
派简
推荐于2018-03-20 · TA获得超过1052个赞
知道小有建树答主
回答量:282
采纳率:0%
帮助的人:108万
展开全部
筛选后缀名呗 首先我想LZ问的不是怎么读取某种文件 而是怎么读取文件吧
读取文件使用的是File类 需要引用IO包 然后需要使用File里的方法获取某文件夹下所有后缀为.mp3的文件 具体的自己上网查代码吧 那样印象深刻
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiangjuan314
2015-12-25 · TA获得超过3.3万个赞
知道大有可为答主
回答量:2.9万
采纳率:0%
帮助的人:2905万
展开全部
1.Path其它的一些功能函数
Path.GetRandomFileName() 获取一个随机的文件名或者目录名
Path.GetTempFileName() 创建磁盘上唯一命名的零字节的一个临时文件并返回该文件的完整路径
Path.GetTempPath() 获取当前用户的临时目录路径
Path.HasExtension() 确定路径是否包含文件扩展名
获取和应用程序相关的路径
System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName 获取模块的完整路径,包括文件名。
System.Environment.CurrentDirectory 获取或设置应用程序当前工作目录的完全限定路径
System.IO.Directory.GetCurrentDirectory() 获取或设置应用程序的当前工作目录,不一定是应用程序的启动目录,是应用程序最后一次操作过的目录。

2.环境变量相关
使用System.Environment.GetEnvironmentVariable()能够获取和环境变量相关的文件路径,例如:
System.Environment.GetEnvironmentVariable("windir") 获取操作系统所在的目录
System.Environment.GetEnvironmentVariable("INCLUDE") 获取头文件所在的目录
System.Environment.GetEnvironmentVariable("TMP") 获取临时目录
System.Environment.GetEnvironmentVariable("Path") 获取Path环境变量所包含的文件目录
自然,使用System.Environment.SetEnvironmentVariable() 能够设置环境变量
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式