C#,如果file.length == 0忽略

时间:2013-07-09 08:56:27

标签: c# file-io

采用Hilgreths的答案使代码更好,但实际问题是可变数据类型,将类型从字符串更改为bool以允许没有数据的文件修复问题。

似乎无法在这里或其他论坛上找到答案,只是想知道是否有办法忽略长度为0的文件。

我的程序正在搜索DIR并返回所有文件,然后我想搜索目录并查找最新文件,如果文件长度为0我想跳到下一个文件但系统仍然崩溃,我的代码到目前为止看起来像

if(fileinfo.Length > 0)
{
    GetLatestWritenFileFileInDirectory(directoryInfo, keywordEH,  keywordINTER, keywordM&M);
}

else if(result.Length == 0)
{

}
目前非常粗糙,因为我不是在寻找它为我写的(显然)jus想要知道我是否可以在不使用linq的情况下以某种方式跳过空文件,因为我正在使用框架1.0

感谢

4 个答案:

答案 0 :(得分:1)

fileinfo.Length声明中使用result.Length代替else if

答案 1 :(得分:0)

您可以通过SearchOption.AllDirectories

调用GetFiles方法获取所有文件
FileInfo[] allfiles = directoryInfo.GetFiles("*.*", SearchOption.AllDirectories);

然后执行以下操作

for (int i = 0; i < allfiles.Length; i++)
{
    if (allfiles[0].Length > 0)
    {
        GetLatestWritenFileFileInDirectory(allfiles[0], keywordEH, keywordINTER, keywordM & M);
    }
}

答案 2 :(得分:0)

你应该做

   if(File.ReadAllText(yourfileName).Length == 0)
         continue;

这应该是全部。

答案 3 :(得分:0)

我认为你可以删除else if语句,因为FileInfo.Length不能小于0.

if(fileInfo.Length > 0)
{
    ////Do your stuff with non empty files
}

除非您想要处理长度== 0的文件,否则这就足够了,这似乎不是。