Example #1
0
        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
            }
        }
Example #2
0
        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
            };
        }
Example #4
0
        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)));
 }