mirror of
https://github.com/chylex/TweetDuck.git
synced 2025-04-28 00:15:47 +02:00
* Switch to .NET Framework 4.7.2 & C# 8.0, update libraries * Add TweetLib.Core project targeting .NET Standard 2.0 * Enable reference nullability checks for TweetLib.Core * Move a bunch of utility classes into TweetLib.Core & refactor * Partially move TweetDuck plugin & update system to TweetLib.Core * Move some constants and CultureInfo setup to TweetLib.Core * Move some configuration classes to TweetLib.Core * Minor refactoring and warning suppression * Add App to TweetLib.Core * Add IAppErrorHandler w/ implementation * Continue moving config, plugin, and update classes to TweetLib.Core * Fix a few nullability checks * Update installers to check for .NET Framework 4.7.2
40 lines
1.0 KiB
C#
40 lines
1.0 KiB
C#
using System;
|
|
using System.IO;
|
|
|
|
namespace TweetLib.Core.Utils{
|
|
public static class FileUtils{
|
|
public static void CreateDirectoryForFile(string file){
|
|
string dir = Path.GetDirectoryName(file);
|
|
|
|
if (dir == null){
|
|
throw new ArgumentException("Invalid file path: "+file);
|
|
}
|
|
else if (dir.Length > 0){
|
|
Directory.CreateDirectory(dir);
|
|
}
|
|
}
|
|
|
|
public static bool CheckFolderWritePermission(string path){
|
|
string testFile = Path.Combine(path, ".test");
|
|
|
|
try{
|
|
Directory.CreateDirectory(path);
|
|
|
|
using(File.Create(testFile)){}
|
|
File.Delete(testFile);
|
|
return true;
|
|
}catch{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public static bool FileExistsAndNotEmpty(string path){
|
|
try{
|
|
return new FileInfo(path).Length > 0;
|
|
}catch{
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
}
|