public void Initialize(string title, string fileName, bool allowImportPlainText) { Text = title; try { var file = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); int length = (int)file.Length; if (length > 100000) { length = 100000; } file.Position = 0; var fileBuffer = new byte[length]; file.Read(fileBuffer, 0, length); file.Close(); var encoding = LanguageAutoDetect.DetectAnsiEncoding(fileBuffer); LabelPreview.Text = LanguageSettings.Current.General.Preview + " - " + fileName; textBoxPreview.Text = encoding.GetString(fileBuffer).Replace("\0", " "); buttonImportPlainText.Visible = allowImportPlainText && !string.IsNullOrWhiteSpace(textBoxPreview.Text); } catch { // ignored } }
public void Initialize(string fileName) { try { var file = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); int length = (int)file.Length; if (length > 100000) { length = 100000; } file.Position = 0; _fileBuffer = new byte[length]; file.Read(_fileBuffer, 0, length); for (int i = 0; i < length; i++) { if (_fileBuffer[i] == 0) { _fileBuffer[i] = 32; } } file.Close(); } catch { _fileBuffer = new byte[0]; } Encoding encoding = LanguageAutoDetect.DetectAnsiEncoding(_fileBuffer); foreach (EncodingInfo ei in Encoding.GetEncodings()) { var item = new ListViewItem(new[] { ei.CodePage.ToString(), ei.Name, ei.DisplayName }); listView1.Items.Add(item); if (ei.CodePage == encoding.CodePage) { item.Selected = true; } } listView1.ListViewItemSorter = new ListViewSorter { ColumnNumber = 0, IsNumber = true }; }
public void Initialize(string fileName) { try { var file = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); int length = (int)file.Length; if (length > 100000) { length = 100000; } file.Position = 0; _fileBuffer = new byte[length]; file.Read(_fileBuffer, 0, length); file.Close(); } catch { _fileBuffer = new byte[0]; } var encoding = LanguageAutoDetect.DetectAnsiEncoding(_fileBuffer); if (_fileBuffer.Length > 10 && _fileBuffer[0] == 0xef && _fileBuffer[1] == 0xbb && _fileBuffer[2] == 0xbf) { encoding = Encoding.UTF8; } foreach (var enc in Configuration.AvailableEncodings) { var item = new ListViewItem(new[] { enc.CodePage.ToString(), enc.WebName, enc.EncodingName }); listView1.Items.Add(item); if (enc.CodePage == encoding.CodePage) { item.Selected = true; } } listView1.ListViewItemSorter = new ListViewSorter { ColumnNumber = 0, IsNumber = true }; }
public void Initialize(string fileName) { try { using (var fs = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) { int readCount = (int)Math.Min(100000, fs.Length); _fileBuffer = new byte[readCount]; fs.Read(_fileBuffer, 0, readCount); } } catch { _fileBuffer = new byte[0]; } Encoding encoding; if (_fileBuffer.Length > 10 && _fileBuffer[0] == 0xef && _fileBuffer[1] == 0xbb && _fileBuffer[2] == 0xbf) { encoding = Encoding.UTF8; } else { encoding = LanguageAutoDetect.DetectAnsiEncoding(_fileBuffer); } listView1.BeginUpdate(); foreach (var enc in Configuration.AvailableEncodings) { var item = new ListViewItem(new[] { enc.CodePage.ToString(), enc.WebName, enc.EncodingName }); listView1.Items.Add(item); if (enc.CodePage == encoding.CodePage) { item.Selected = true; } } listView1.ListViewItemSorter = new ListViewSorter { ColumnNumber = 0, IsNumber = true }; listView1.EndUpdate(); }
private static Encoding DetectAnsiEncoding(string fileName) { fileName = Path.Combine(Directory.GetCurrentDirectory(), fileName); return(LanguageAutoDetect.DetectAnsiEncoding(FileUtil.ReadAllBytesShared(fileName))); }