使用C#检索文件夹中的所有文件名

时间:2015-02-11 10:03:21

标签: c#

我正在尝试检索文件夹中所有文件名的列表,而不管它们的扩展名为eg.txt。这些文件大多是.wav。

到目前为止,我有:

    public string GetSoundFile(string pSoundFolder)
    {
        string[] pFiles = Directory.GetFiles(pSoundFolder, "*.wav", SearchOption.AllDirectories);

        string pFileList = "";
        for (int ii = 0; ii < pFiles.Length; ii++)
        {
            pFileList += "|" + pFiles[ii];                      
        }

        return (pFileList);
    }

使用JavaScript使用AJAX调用来调用该函数。

我按如下方式调用AJAX:

oGetSoundFilesJAXHandler.call("C:\\Projects");

问题是,它返回空白。

我已尝试按如下方式计算文件夹中的文件数:

int fCount = Directory.GetFiles(pSoundFolder, "*", SearchOption.AllDirectories).Length;

但它仍然是空白。

我尝试调整路径:

oGetSoundFilesJAXHandler.call("C:\\Projects\\");

但没有运气,我尝试使用&#39; @&#39;设置文件路径:

string[] pFiles = Directory.GetFiles(@pSoundFolder, "*.wav", SearchOption.AllDirectories);

但仍然没有运气。

我做错了什么?

2 个答案:

答案 0 :(得分:0)

尝试在一个简单的控制台应用程序中执行该代码,如果它在那里工作,那么你100%确定代码实际上是好的并且它是一个访问问题。 对代码进行异常处理,以确保它不会引发任何异常。

答案 1 :(得分:0)

这是一个很长的镜头,但尝试使用WebMethod,您的方法正常工作:

    [WebMethod]
    public string GetSoundFile(string pSoundFolder)
        {
            string[] pFiles = Directory.GetFiles(pSoundFolder, "*.wav", SearchOption.AllDirectories);

            string pFileList = "";
            for (int ii = 0; ii < pFiles.Length; ii++)
            {
                pFileList += "|" + pFiles[ii];                      
            }

            return (pFileList);
        }