Bùi Long Nghĩa Ответов: 2

Как я могу исправить отображаемый текст, который считывается из файла с помощью C#


Я использую WindowForm с C#, я хочу прочитать файл и отобразить его на этикетке. Но результат не соответствует моим ожиданиям. Он отображается как "LP#@$", если мои данные - "Nghia Nam Honag". Как я могу это исправить? Вот мой код:

private void btnFile1_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFile = new OpenFileDialog();
            string str = string.Empty;
            string chuoiNoi = string.Empty;
            string line = string.Empty;
            if(openFile.ShowDialog() == DialogResult.OK){
                str = openFile.FileName;
                try
                {
                    using (StreamReader sr = new StreamReader(str))
                    {
                        while((line = sr.ReadLine()) != null){
                            chuoiNoi = chuoiNoi + " " + line;
                        }
                        lbFileA.Text = chuoiNoi;
                    }
                }catch(Exception ex){
                    Console.Write("You have an error: ");
                    Console.Write(ex.Message);
                }
                
            }
        }


Что я уже пробовал:

Я попытался добавить кодировку.UTF-8, но безуспешно

2 Ответов

Рейтинг:
1

Animesh Datta

Привет ,
Из msdn :
Файл.Метод ReadAllText (String)Открывает текстовый файл, читает все строки файла, а затем закрывает файл. Ссылка Здесь

string filecontent= File.ReadAllText(filepath);

Спасибо


Рейтинг:
0

BillWoodruff

Скорее всего, "неправильное совпадение" здесь связано с тем, что ваш источник-Юникод: попробуйте читать с кодировкой.Опция Unicode: [^].

Кроме того, убедитесь, что вы используете шрифт для метки, поддерживающий Unicode, например 'Consolas.

В коде, который вы показываете здесь, нет никакой реальной "органической" причины, которую я вижу, чтобы читать файл построчно, и использование добавления строк приведет к увеличению использования памяти.

Подумайте о том, чтобы прочитать весь файл за один раз.

к вашему сведению: метка - это "странный" выбор элемента управления для отображения весь содержимое файла.