Открытие текстового файла в c # - PullRequest
2 голосов
/ 05 марта 2012

Когда я пытаюсь открыть файл .txt, он показывает только его местоположение в моем textbox. У меня нет идей :( надеюсь, ты поможешь мне ...

код:

private void OpenItem_Click(object sender, EventArgs e)
{
    openFileDialog1.ShowDialog();
    System.IO.StringReader OpenFile = new System.IO.StringReader(openFileDialog1.FileName);
    richTextBox1.Text = OpenFile.ReadToEnd();
    OpenFile.Close();
}

Ответы [ 4 ]

2 голосов
/ 05 марта 2012

Я бы использовал метод File.OpenText() для чтения текстовых файлов.Вы также должны использовать операторы using для правильной утилизации объекта.

if(openFileDialog1.ShowDialog() == DialogResult.OK)
{
    try
    {
        // Make sure a file was selected
        if ((myStream = openFileDialog1.OpenFile()) != null) {
            // Open stream
            using (StreamReader sr = File.OpenText(openFileDialog1.FileName)) 
            {
                // Read the text
                richTextBox1.Text = sr.ReadToEnd();
            }
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show("An error occured: " + ex.Message);
    }
}
2 голосов
/ 05 марта 2012

Использование File.ReadAllText

richTextBox1.Text = File.ReadAllText(openFileDialog1.FileName);
2 голосов
/ 05 марта 2012

A StringReader читает символы из строки, которую вы передаете ей - в данном случае, имя файла.Если вы хотите прочитать содержимое файла, используйте StreamReader:

var OpenFile = new System.IO.StreamReader(openFileDialog1.FileName);
richTextBox1.Text = OpenFile.ReadToEnd();
1 голос
/ 02 декабря 2013

Это просто. Вот что вам нужно сделать:

1) Поместите using System.IO; над пространством имен.

2) Создать новый метод:

    public static void read()
    {
         StreamReader readme = null;

         try
         {
              readme = File.OpenText(@"C:\path\to\your\.txt\file.txt");
              Console.WriteLine(readme.ReadToEnd());
         }
         // will return an invalid file name error
         catch (FileNotFoundException errorMsg)
         {
              Console.WriteLine("Error, " + errorMsg.Message);
         }
         // will return an invalid path error
         catch (Exception errorMsg)
         {
             Console.WriteLine("Error, " + errorMsg.Message);
         }
         finally
         {
              if (readme != null)
              {
                  readme.Close();
              }
         }
    }

3) Назовите это в вашем основном методе: read();

4) Готово!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...