Files
comic-img-compress/FileParser.cs
T
Marco Giuntoni b73c859b94 code sources
2024-03-01 16:05:06 +01:00

46 lines
1.1 KiB
C#

using System.Collections.Generic;
using System.IO;
namespace ComicCompressor
{
public class FileParser
{
public IList<string> ListAllFiles(string input, bool recursive)
{
Queue<string> unexplored;
IList<string> files = new List<string>();
if (Directory.Exists(input))
{
unexplored = new Queue<string>(Directory.GetFileSystemEntries(input));
}
else
{
// No directory but must exist so it is a file
unexplored = new Queue<string>();
unexplored.Enqueue(input);
}
while(unexplored.Count > 0)
{
var file = unexplored.Dequeue();
if (File.Exists(file))
{
files.Add(file);
}
else if (recursive)
{
foreach (var f in Directory.GetFileSystemEntries(file))
{
unexplored.Enqueue(f);
}
}
}
return files;
}
}
}