- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个方法是我从 backgroundworker dowork 事件中调用的
void WalkDirectoryTree(System.IO.DirectoryInfo root)
{
try
{
files = root.GetFiles("*.cs");
int Vara = File.ReadAllText(files[0].Name).Contains("namespace") ? 1 : 0;
}
catch (UnauthorizedAccessException e)
{
}
catch (System.IO.DirectoryNotFoundException e)
{
Console.WriteLine(e.Message);
}
}
问题是我在线上遇到异常:
int Vara = File.ReadAllText(files[0].Name).Contains("namespace") ? 1 : 0;
Could not find file 'D:\C-Sharp\Search_Text_In_Files\Search_Text_In_Files\Search_Text_In_Files\bin\Debug\Logger.cs'
最佳答案
使用 FileInfo.Name
您只能获取文件名,而不是完整路径。
因此,您正在尝试读取相对于当前目录的文件,但该文件不存在。
改为获取完整路径,即 FileInfo.FullName
而不是 FileInfo.Name
。
如果你想读取所有文件,你应该遍历文件而不是只读取第一个文件(files[0]
),后者无论如何都是危险的,因为如果没有找到文件。
foreach (var fileInfo in files)
{
int Vara = File.ReadAllText(fileInfo.FullName).Contains("namespace") ? 1 : 0;
}
关于c# - 从 DirectoryInfo.GetFiles 返回的 FileInfo 没有指向文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37830260/
K:\test 中存在空目录“New Folder” >$a = gci K:\test目录不应具有 Length 属性。让我们检查: [bool]($a.PSobject.Properties.Na
如何将新目录添加到列表中 public static List Directory = new List(); Directory.Add("C:\\test"); // error 'string
这一定很愚蠢,但我就是不明白。所以我有这段代码: var dir = new DirectoryInfo("somedir"); if (dir.Exists) { dir.Delete(tru
我遇到了奇怪的事情。 每当我尝试在代码中创建DirectoryInfo对象并将其传递给根驱动器(C:)时,该对象的Name属性都设置为“ Debug”,并且Parent设置为{bin}文件夹。 我不经
我正在使用 Dictionary,使用 DirectoryInfo 和 FileInfo 等对象作为键。以这种方式使用它们安全吗?如何确保可以通过这种方式安全地使用对象类型? 最佳答案 一般来说,要准
我正在使用 DirectoryInfo.GetDirectories()递归查找给定路径下的所有子目录。 但是,我想排除 System 文件夹,并且没有明确的方法。 在 FindFirstFile/F
我有一个应用程序,它必须枚举一些文件夹并处理其中的文件。 它必须支持恢复,这意味着它必须从上次处理的文件夹开始。 我正在考虑使用 the DirectoryInfo.EnumerateDirector
我在以下代码段中遇到行为差异 DirectoryInfo di = new DirectoryInfo("c:\"); FileInfo[] textFiles = di.GetFiles("log_
我正在尝试查询文件夹并仅返回具有数字文件夹名称的文件夹。问题是我需要在 DirectoryInfo[] 对象中使用它。 我可以这样做(而且有效): List subDirList = Director
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及预
我还是 C# 的新手...我正在构建一个 WPF 应用程序,我正在尝试应用一些用户应用程序设置。插入标准应用程序设置(int、double、string 等)很容易。我什至插入了 WindowStat
我想阅读文件夹和文件名,它们被放入一个列表中,并排序显示例如,我有一个如下所示的文件: 1-4999.txt 5000-9999.txt…… 我想对数据文件夹进行排序 var endpa
在我问的问题中Retrieve a list of filenames in folder and all subfolders quickly还有一些我发现的,似乎搜索许多文件的方法是使用 Enum
我正在使用 DirectoryInfo.CreationTime 来获取目录的创建日期但是它返回奇怪的日期 {21/11/1617 0:00:00} var directoryInfo = new D
如果我声明的目录不存在或已更改,DirectoryInfo 如何知道在哪里创建新目录?因为 Create() 方法不带参数。 像 Directory.CreateDirectory(path),其中路
我已经搜索了大约一个小时,但还是找不到解决我问题的方法。除了以“_days.txt”结尾的文件之外,我正在尝试显示某个目录中的所有 .txt 文件。这是我的代码,希望你能有所帮助。谢谢! foreac
我有以下代码可以正常工作。我想要做的(一次)是检查目录是否存在,如果存在,我想检查文件夹中是否存在文件。如果是,则返回 Y,否则返回 N: string s = new DirectoryInfo("
我正在测试以查看 DirectoryInfo[] 是否包含目录我的代码在下面 DirectoryInfo[] test = dir.GetDirectories(); if(test.Contains
我只是用我自己的文件夹浏览器做一些试验。我注意到当我查看 Windows 7 中的 System32 文件夹时,我得到了一些奇怪的结果。这是代码: DataTable dt=new DataTable
当我递归浏览一些文件夹和文件时,我遇到了这个错误: 指定的路径、文件名或两者都太长。完全限定文件名必须少于 260 个字符,目录名必须少于 248 个字符。 这是我的功能 private void P
我是一名优秀的程序员,十分优秀!