59 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C#
		
	
	
		
		
			
		
	
	
			59 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C#
		
	
	
|  | using System.IO; | ||
|  | 
 | ||
|  | namespace Guru.Editor | ||
|  | { | ||
|  |     public static class GuruEditorExtentions | ||
|  |     { | ||
|  |          | ||
|  |          | ||
|  |          | ||
|  |         public static bool FileExists(this IFileIO _, string filePath) => File.Exists(filePath); | ||
|  | 
 | ||
|  |         public static bool DirectoryExists(this IFileIO _, string directoryPath) => Directory.Exists(directoryPath); | ||
|  | 
 | ||
|  |         public static void EnsureDir(this IFileIO _, string dirPath) | ||
|  |         { | ||
|  |             var dir = new DirectoryInfo(dirPath); | ||
|  |             if(!dir.Exists) dir.Create(); | ||
|  |         } | ||
|  | 
 | ||
|  |         public static void EnsureRootDir(this IFileIO _, string filePath) => | ||
|  |             EnsureDir(_, Directory.GetParent(filePath)?.FullName); | ||
|  |          | ||
|  |         public static bool DeleteFile(this IFileIO _, string filePath) | ||
|  |         { | ||
|  |             if (FileExists(_, filePath)) | ||
|  |             { | ||
|  |                 File.Delete(filePath); | ||
|  |                 return true; | ||
|  |             } | ||
|  |             return false; | ||
|  |         } | ||
|  | 
 | ||
|  |         public static bool MoveFile(this IFileIO _,string from, string to) | ||
|  |         { | ||
|  |             if (FileExists(_, from)) | ||
|  |             { | ||
|  |                 EnsureRootDir(_, to); | ||
|  |                 DeleteFile(_, to); | ||
|  |                 File.Move(from, to); | ||
|  |                 return true; | ||
|  |             } | ||
|  |             return false; | ||
|  |         } | ||
|  | 
 | ||
|  |         public static bool CopyFile(this IFileIO _,string from, string to) | ||
|  |         { | ||
|  |             if (FileExists(_, from)) | ||
|  |             { | ||
|  |                 EnsureRootDir(_, to); | ||
|  |                 File.Copy(from, to); | ||
|  |                 return true; | ||
|  |             } | ||
|  |             return false; | ||
|  |         } | ||
|  |          | ||
|  |          | ||
|  |          | ||
|  |     } | ||
|  | } |