【问题标题】:condition, file exist, sample code, checking directory for file条件、文件存在、示例代码、检查文件目录
【发布时间】:2015-08-24 15:21:32
【问题描述】:

大家好,我只是 .net 编程的初学者,我真的需要一些关于这个问题的帮助,我的代码逻辑“应该”查看放入数组中的每个目录..然后将验证如果每个文件夹里面都有文件,这就是我使用“system.io.file.exist()”的原因,抱歉代码混乱,请帮助我...

        Dim schar As String
        Dim number As Integer
        Dim Dirs(4) As String
        Dirs(0) = "E:\_net_programs\test\sample1"
        Dirs(1) = "E:\_net_programs\test\sample2"
        Dirs(2) = "E:\_net_programs\test\sample3"
        Dirs(3) = "E:\_net_programs\test\sample4"
        Dirs(4) = "E:\_net_programs\test\sample5"
        For Each folder As String In Dirs

            Dim getDir As New DirectoryInfo(folder)
            Dim fiArr As FileInfo() = getDir.GetFiles()
            Dim fri As FileInfo
            For Each fri In fiArr

                If Not System.IO.File.Exists(folder + "\" + fri.Name) Then
                    MessageBox.Show("file does not exist. : " + folder + "\" + fri.Name)
                    Return
                Else
                    MessageBox.Show(folder + "\" + fri.Name)
                    Return
                End If

                Label1.Text = "textfile name :" & fri.Name
                Dim file As New System.IO.StreamReader(folder + "\" + fri.Name)
                schar = Trim(file.ReadLine())
                MessageBox.Show(schar)

                Do While file.Peek <> -1
                    schar = Trim(file.ReadLine())

【问题讨论】:

  • 请不要介意“返回”代码
  • 您可以编辑您的问题。它应该包括您实际看到的内容,最好举个例子。我知道您正在搜索非空目录?
  • 你在找什么样的文件??您正在枚举一个目录和其中的所有文件。然后检查这些文件是否存在,这些文件将始终存在,因为您获得了该目录的文件列表。
  • 对不起=(我想做的是..
  • sorry =(.. 我想要做的是如果文件夹没有文件(文本文件)会弹出一条消息,指出当前文件夹没有文件

标签: .net vb.net file getfiles


【解决方案1】:

要检查一个目录是否有文件,你只需要这个:

If getDir.GetFiles().Length = 0 Then
    MessageBox.Show(string.Format("Folder {0} doesn't have any file.", folder))
End If

关于你的样品,你有一个问题。

首先,您使用 GetFiles() 方法来获取指定文件夹中存在的所有文件。为什么需要仔细检查它们是否存在,因为它们刚刚被检查过?

【讨论】:

  • 很高兴为您提供帮助。如果这对您有用,请将其标记为答案:)
【解决方案2】:

如果您只对文本(*.txt)文件感兴趣,那么您应该这样做:

    Dim Dirs(4) As String
    Dirs(0) = "E:\_net_programs\test\sample1"
    Dirs(1) = "E:\_net_programs\test\sample2"
    Dirs(2) = "E:\_net_programs\test\sample3"
    Dirs(3) = "E:\_net_programs\test\sample4"
    Dirs(4) = "E:\_net_programs\test\sample5"
    For Each folder As String In Dirs
        Dim files = IO.Directory.GetFiles(folder, "*.txt")
        If files.Count = 0 Then
            MessageBox.Show("No txt files in folder : " + folder)
            Return
        Else
            MessageBox.Show(Join(files, vbCrLf))
            Return
        End If

    Next

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-02
    • 2016-06-04
    • 1970-01-01
    • 2011-09-23
    • 1970-01-01
    • 2012-07-30
    • 2013-04-24
    • 1970-01-01
    相关资源
    最近更新 更多