使用C检索文件夹中的所有文件名#
问题描述:
我试图检索文件夹中所有文件名的列表,无论其扩展名为eg.txt。这些文件将主要是.wav。使用C检索文件夹中的所有文件名#
到目前为止,我有:
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\\");
,但没有运气,我已经尝试设置使用的文件路径“@”:
string[] pFiles = Directory.GetFiles(@pSoundFolder, "*.wav", SearchOption.AllDirectories);
但仍没有运气。
我在做什么错?
答
尝试在一个简单的控制台应用程序中执行该代码,如果它在那里工作,那么你100%确定代码确实很好,并且它是一个访问问题。 对代码进行异常处理,以确保它不会抛出任何异常。
答
这是一个长镜头,但尝试使用的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);
}
可以调试在执行它的代码? 'pSoundFolder'使用的实际参数是什么?它可能也是一个访问权限问题。 – Codor 2015-02-11 10:11:49
现在忽略输入参数,只需在GetSoundFile()方法中放入硬编码路径,然后查看它是否会生成结果。你确定这条道路是正确的吗? (另外,通过AJAX调用一个包含文件路径的方法是要求麻烦的,我不会这么做!) – 2015-02-11 10:13:13
我已经解决了,它。代码一切正常,我只是没有告诉AJAX将响应写回JavaScript。我同意使用AJAX发送文件路径。我正在逐步建立,所以在开发过程中会进一步解决这个问题。 – Alex 2015-02-11 10:16:47