C# 获取目录中的所有文件以及所有子目录下的所有文件
我在获取所有文件夹和子目录下的所有文件时遇到了一点问题。。保持这条路 这是我目前的代码 这一切都会过去的,对吗?所有的子目录和一切C# 获取目录中的所有文件以及所有子目录下的所有文件,c#,file,directory,C#,File,Directory,我在获取所有文件夹和子目录下的所有文件时遇到了一点问题。。保持这条路 这是我目前的代码 这一切都会过去的,对吗?所有的子目录和一切 private List<String> DirSearch(string sDir) { List<String> files = new List<String>(); try { foreach (string f in Directory.Ge
private List<String> DirSearch(string sDir)
{
List<String> files = new List<String>();
try
{
foreach (string f in Directory.GetFiles(sDir))
{
files.Add(f);
}
foreach (string d in Directory.GetDirectories(sDir))
{
files.AddRange(DirSearch(d));
}
}
catch (System.Exception excpt)
{
MessageBox.Show(excpt.Message);
}
return files;
}
这就是将它们添加到XML文件中的方法
private void addFilesFromFolder(List<string> files)
{
String appDataFolder = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData).ToString();
String gpsPath = appDataFolder + "\\GameProfileSaver";
XmlDocument doc = new XmlDocument();
doc.Load(gpsPath + "\\games.xml");
XmlNode fileToAdd = doc.CreateElement("file");
String gName = comboBox1.SelectedItem.ToString();
XmlNode gameName = doc.SelectSingleNode("//games/game[gameName='" + gName + "']/Files");
foreach (string f in files)
{
fileToAdd.InnerText = f;
gameName.AppendChild(fileToAdd);
}
doc.Save(gpsPath + "\\games.xml");
}
private void addFilesFromFolder(列出文件)
{
字符串appDataFolder=Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData.ToString();
字符串gpsPath=appDataFolder+“\\GameProfileSaver”;
XmlDocument doc=新的XmlDocument();
doc.Load(gpsPath+“\\games.xml”);
XmlNode fileToAdd=doc.CreateElement(“文件”);
字符串gName=comboBox1.SelectedItem.ToString();
XmlNode gameName=doc.SelectSingleNode(“//games/game[gameName=”“+gName+”]/Files”);
foreach(文件中的字符串f)
{
fileToAdd.InnerText=f;
gameName.AppendChild(fileToAdd);
}
文档保存(gpsPath+“\\games.xml”);
}
尝试移动XmlNode fileToAdd=doc.CreateElement(“文件”)用于
的内的code>:
XmlDocument doc = new XmlDocument();
doc.Load(gpsPath + "\\games.xml");
String gName = comboBox1.SelectedItem.ToString();
XmlNode gameName = doc.SelectSingleNode("//games/game[gameName='" + gName + "']/Files");
foreach (string f in files)
{
XmlNode fileToAdd = doc.CreateElement("file");
fileToAdd.InnerText = f;
gameName.AppendChild(fileToAdd);
}
我怀疑,因为您正在重用XmlNode
,所以只能获取列表中的最后一个文件。尝试将XmlNode文件移动到add=doc.CreateElement(“文件”)用于
的内的code>:
XmlDocument doc = new XmlDocument();
doc.Load(gpsPath + "\\games.xml");
String gName = comboBox1.SelectedItem.ToString();
XmlNode gameName = doc.SelectSingleNode("//games/game[gameName='" + gName + "']/Files");
foreach (string f in files)
{
XmlNode fileToAdd = doc.CreateElement("file");
fileToAdd.InnerText = f;
gameName.AppendChild(fileToAdd);
}
我怀疑,因为您正在重用XmlNode
,所以只能获取列表中的最后一个文件。尝试将XmlNode文件移动到add=doc.CreateElement(“文件”)用于
的内的code>:
XmlDocument doc = new XmlDocument();
doc.Load(gpsPath + "\\games.xml");
String gName = comboBox1.SelectedItem.ToString();
XmlNode gameName = doc.SelectSingleNode("//games/game[gameName='" + gName + "']/Files");
foreach (string f in files)
{
XmlNode fileToAdd = doc.CreateElement("file");
fileToAdd.InnerText = f;
gameName.AppendChild(fileToAdd);
}
我怀疑,因为您正在重用XmlNode
,所以只能获取列表中的最后一个文件。尝试将XmlNode文件移动到add=doc.CreateElement(“文件”)用于
的内的code>:
XmlDocument doc = new XmlDocument();
doc.Load(gpsPath + "\\games.xml");
String gName = comboBox1.SelectedItem.ToString();
XmlNode gameName = doc.SelectSingleNode("//games/game[gameName='" + gName + "']/Files");
foreach (string f in files)
{
XmlNode fileToAdd = doc.CreateElement("file");
fileToAdd.InnerText = f;
gameName.AppendChild(fileToAdd);
}
我怀疑,因为您正在重用XmlNode
,所以只能得到列表中的最后一个文件。您也可以查看。它支持SearchOption参数的递归性。您可能只需执行foreach(Directory.GetFiles(sDir,“*”,SearchOption.AllDirectories)中的字符串f))
即可,而不必使用递归函数。阅读相关内容,还可以查看。它支持SearchOption参数的递归性。您可能只需执行foreach(Directory.GetFiles(sDir,“*”,SearchOption.AllDirectories)中的字符串f))
即可,而不必使用递归函数。阅读相关内容,还可以查看。它支持SearchOption参数的递归性。您可能只需执行foreach(Directory.GetFiles(sDir,“*”,SearchOption.AllDirectories)中的字符串f))
即可,而不必使用递归函数。阅读相关内容,还可以查看。它支持SearchOption参数的递归性。您可能只需执行foreach(Directory.GetFiles(sDir,“*”,SearchOption.AllDirectories)中的字符串f)
,而不必使用递归函数。请仔细阅读,谢谢!这解决了我的问题。。。就这么简单。。我没想过把它放进我的房间…谢谢!这解决了我的问题。。。就这么简单。。我没想过把它放进我的房间…谢谢!这解决了我的问题。。。就这么简单。。我没想过把它放进我的房间…谢谢!这解决了我的问题。。。就这么简单。。我没想过把它放进我的房间。。。