public static bool LoadFile() { var result = false; var documentsPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); var directory = new DirectoryInfo(Path.Combine(documentsPath, @"SEGA\PHANTASYSTARONLINE2\log")); try { IsNGS = false; FileInfo latestFile = null; DateTime mostRecentTime = new DateTime(0); foreach (var file in directory.GetFiles("ChatLog*.txt")) { if (file.LastWriteTime > mostRecentTime) { mostRecentTime = file.CreationTime; latestFile = file; } } directory = new DirectoryInfo(Path.Combine(documentsPath, @"SEGA\PHANTASYSTARONLINE2\log_ngs")); foreach (var file in directory.GetFiles("ChatLog*.txt")) { if (file.LastWriteTime > mostRecentTime) { mostRecentTime = file.CreationTime; latestFile = file; IsNGS = true; } } if (latestFile != null) { if (fileName != latestFile.FullName) { lastFileLength = new FileInfo(latestFile.FullName).Length; fileName = latestFile.FullName; if (file != null) { file.Dispose(); file = null; } file = File.Open(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); if (!IsNGS) { mainWindow.WriteLine(Language["PSO2ChatlogFound"]); } else { mainWindow.WriteLine(Language["NGSChatlogFound"]); } file.Position = lastFileLength; result = true; } } } catch { } return(result); }