using System;
using System.Collections.Generic;
using System.IO;
class Program
{
static void Main()
{
// Get all files in Documents
List<string> dirs = FileHelper.GetFilesRecursive("S:\\bob.smith\\");
foreach (string p in dirs)
{
Console.WriteLine(p);
}
// Write count
Console.WriteLine("Count: {0}", dirs.Count);
Console.Read();
}
}
static class FileHelper
{
public static List<string> GetFilesRecursive(string b)
{
// 1.
// Store results in the file results list.
List<string> result = new List<string>();
// 2.
// Store a stack of our directories.
Stack<string> stack = new Stack<string>();
// 3.
// Add initial directory.
stack.Push(b);
// 4.
// Continue while there are directories to process
while (stack.Count > 0)
{
// A.
// Get top directory
string dir = stack.Pop();
try
{
// B
// Add all files at this directory to the result List.
result.AddRange(Directory.GetFiles(dir, "*.*"));
// C
// Add all directories at this directory.
foreach (string dn in Directory.GetDirectories(dir))
{
stack.Push(dn);
}
}
catch
{
// D
// Could not open the directory
}
}
return result;
var k = "";
result = k;
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的代码.我试图将结果序列化为XML文件(我认为通过将其传递给a var,我可以使用该变量进行序列化).我很有智慧.请有人帮忙.
奇怪的是由于某些原因我无法添加评论 - 作为回应,是的,我已经完成了关于序列化的无尽教程.我是这个东西的完全新手,坦率地说,这些教程对大部分b/c无益,我无法将这个功能和序列化放在一起.在这一点上,我正在寻找一个解决方案,因为我要严重打破挫折感.
您可以使用XmlSerializer:
using System.Xml.Serialization;
static void Main()
{
// Get all files in Documents
List<string> dirs = FileHelper.GetFilesRecursive(@"S:\\bob.smith\\");
XmlSerializer x = new XmlSerializer(dirs.GetType());
x.Serialize(Console.Out, dirs);
Console.Read();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1713 次 |
| 最近记录: |