using System.IO; using System.Linq; using System.Runtime.InteropServices; using System.Text; namespace JDSongConverter.Utils { public class FileUtils { public static int GetFileCount(string directory) { int fileCount = 0; var dirInfo = new DirectoryInfo(directory); foreach (var dir in dirInfo.EnumerateDirectories()) { fileCount += GetFileCount(dir.FullName); } fileCount += dirInfo.EnumerateFiles().Count(); return fileCount; } public static StreamWriter OpenOrCreateFile(string fileName) { FileStream fileStream; if (File.Exists(fileName)) { System.IO.File.SetAttributes(fileName, FileAttributes.Normal); fileStream = new FileStream(fileName, FileMode.Create); } else { fileStream = File.Create(fileName); } return new StreamWriter(fileStream); } [DllImport("Shlwapi.dll", SetLastError = true, CharSet = CharSet.Auto)] private extern static bool PathFileExists(StringBuilder path); public static bool FastFileExists(string path) { var builder = new StringBuilder(); builder.Append(path); return PathFileExists(builder); } } }