перенести данные из текстового поля в потоковый ридер - PullRequest
0 голосов
/ 06 апреля 2011

Я новичок в c #, перед этим я пытаюсь прочитать потоковое приложение, чтобы закончить данные в текстовом поле.сейчас ... я пытаюсь переместить данные из текстового поля в другой потоковый ридер построчно, я пытаюсь этот код

String filename = ContentBox.Text;

        if (File.Exists(filename))
        {
            using (StreamReader fileReader = new StreamReader(filename))
            {

                String fileRow = "";

                while ((fileRow = fileReader.ReadLine()) != null)
                {

                    String[] fileDataField = fileRow.Split(new string[] { "\r\n\t", " " }, StringSplitOptions.RemoveEmptyEntries);
                    String ListSplitLineByLine = "";

                    //line = line.Replace("\r\n", " ");
                    //String[] SplitItemLineByLine1 = (line).Split(' ');


                    foreach (string lineByLine in fileDataField)
                    {
                        ListSplitLineByLine += "\r\n" + lineByLine;
                    }

                    txtCaseInputs.Text = ListSplitLineByLine.Trim();

                    GenCombItems();

                }
            //Close the StreamReader
            fileReader.Close();
            }

       }    

это не ошибка, нокогда я бегу, ничего нет ... это моя ошибка кодирования?

Ответы [ 2 ]

0 голосов
/ 06 апреля 2011

Поместите туда несколько отладочных операторов, пока не получите правильную работу.

Вы всегда можете удалить их позже.

public string ZTest(string contentBoxText) {
  string retValue = null;
  string filename = contentBoxText;
  if (File.Exists(filename)) {
    using (StreamReader fileReader = new StreamReader(filename)) {
      string fileRow;
      while ((fileRow = fileReader.ReadLine()) != null) {
        string[] fileDataField = fileRow.Split(new string[] { "\r\n\t", " " }, StringSplitOptions.RemoveEmptyEntries);
        string ListSplitLineByLine = "";
        foreach (string lineByLine in fileDataField) {
          ListSplitLineByLine += "\r\n" + lineByLine;
        }
        if (!String.IsNullOrEmpty(ListSplitLineByLine)) {
          retValue = ListSplitLineByLine.Trim();
          GenCombItems();
        } else {
          MessageBox.Show("No data");
        }
      }
      // Line below is not necessary. Handled by the "using" clause.
      // fileReader.Close();
    }
  } else {
    MessageBox.Show("File Not Found");
  }
  return retValue;
}
0 голосов
/ 06 апреля 2011

На каждой итерации вы присваиваете результат этой итерации txtCaseInputs.Text, записывая «поверх» результата предыдущей итерации.

Если вы хотите, чтобы текстовое поле содержало конкатенацию всех полей из файла, вы должны добавитьна каждой итерации вместо назначения:

txtCaseInputs.Text += ListSplitLineByLine.Trim();

И не забудьте очистить содержимое текстового поля перед началом всего процесса.

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