Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
1 / 1 / 2
Регистрация: 19.11.2014
Сообщений: 126
1
.NET 4.x

Добавить строку в текстовый файл

22.05.2015, 10:42. Показов 3879. Ответов 33
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется текстовый файл. Добавить в него строку из двенадцати черточек (------------), разместив ее:
а) после пятой строки;
б) после последней из строк, в которых нет пробела. Если таких строк нет, то новая строка должна быть добавлена после всех строк имеющегося файла.
В обоих случаях результат записать в другой файл.
Как я понял, нельзя средствами streamwriter вставить запись в определенную строку. Как же быть тогда?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.05.2015, 10:42
Ответы с готовыми решениями:

Дана строка S и текстовый файл. Добавить строку S в конец файла
Дана строка S и текстовый файл. Добавить строку S в конец файла.

Дана строка S и текстовый файл. Добавить строку S в начало файла
Дана строка S и текстовый файл. Добавить строку S в начало файла.

Дана строка S и текстовый файл. Добавить строку S в начало файла
Дана строка S и текстовый файл. Добавить строку S в начало файла.

Дана строка S и текстовый файл. Добавить строку S в начало1|конец2 файла
Дана строка S и текстовый файл. Добавить строку S в начало1|конец2 файла. Напишите пожалуйста код...

33
1 / 1 / 2
Регистрация: 19.11.2014
Сообщений: 126
23.05.2015, 21:46  [ТС] 21
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от Sanya_sa Посмотреть сообщение
строка это один из элементов листа как я писал.
Это я понимаю. Я же не могу вот так написать string str = "hhh hkfs;sd;f";.
0
1150 / 742 / 483
Регистрация: 21.01.2014
Сообщений: 1,903
24.05.2015, 02:06 22
C#
1
2
3
4
5
6
7
8
9
            string path = "file.txt";
            List<string> l = File.ReadAllLines(path).ToList();
            l.Insert(5, "------------");
            var lastWithoutSpace = l.LastOrDefault((s) => !s.Contains(' ') && s!="------------");
            if (lastWithoutSpace != null)
                l.Insert(l.LastIndexOf(lastWithoutSpace) + 1, "------------");
            else
                l.Add("------------");
            File.WriteAllLines(path, l);
1
1 / 1 / 2
Регистрация: 19.11.2014
Сообщений: 126
26.05.2015, 13:36  [ТС] 23
Всё ещё актуально...
0
911 / 815 / 333
Регистрация: 03.02.2015
Сообщений: 5,265
Записей в блоге: 9
26.05.2015, 14:16 24
C#
1
2
3
4
for (int i = 0; i < l.Count; i++)
      for (int j = 0; j < l[i].Length; j++)
                if (l[i][j] == ' ')
                    MessageBox.Show("Вот оно! ");
1
1 / 1 / 2
Регистрация: 19.11.2014
Сообщений: 126
27.05.2015, 10:37  [ТС] 25
Sanya_sa, как мне при выполнении этого условия, добавить в ту же строку запись?
0
911 / 815 / 333
Регистрация: 03.02.2015
Сообщений: 5,265
Записей в блоге: 9
27.05.2015, 11:03 26
Цитата Сообщение от FAIZ112 Посмотреть сообщение
как мне при выполнении этого условия, добавить в ту же строку запись?
Код
for (int i = 0; i < l.Count; i++)
      for (int j = 0; j < l[i].Length; j++)
                if (l[i][j] == ' ')
                {
                    l[i] = "запись";
                    MessageBox.Show("Вот оно! ");
                }
0
1 / 1 / 2
Регистрация: 19.11.2014
Сообщений: 126
27.05.2015, 11:15  [ТС] 27
Sanya_sa, тогда он все строки заменяет на эту запись.
0
911 / 815 / 333
Регистрация: 03.02.2015
Сообщений: 5,265
Записей в блоге: 9
27.05.2015, 11:19 28
Цитата Сообщение от FAIZ112 Посмотреть сообщение
тогда он все строки заменяет на эту запись.
А какие нужно???
Вы условие задайте
C#
1
2
          if (ВАШЕ условие)
                    l[i] = "запись";
К стати он заменяет не все строки а только те которые удовлетворяют if (l[i][j] == ' ')
0
1 / 1 / 2
Регистрация: 19.11.2014
Сообщений: 126
27.05.2015, 11:21  [ТС] 29
Sanya_sa, мне нужна не замена. Добавить после неё.
0
911 / 815 / 333
Регистрация: 03.02.2015
Сообщений: 5,265
Записей в блоге: 9
27.05.2015, 11:23 30
C#
1
2
3
4
5
l[i] += "запись";
 
//или
 
l[i] = l[i] + "запись";
0
1 / 1 / 2
Регистрация: 19.11.2014
Сообщений: 126
27.05.2015, 11:24  [ТС] 31
Цитата Сообщение от Sanya_sa Посмотреть сообщение
К стати он заменяет не все строки а только те которые удовлетворяют if (l[i][j] == ' ')
Нужен последний удовлетворяющий.
0
911 / 815 / 333
Регистрация: 03.02.2015
Сообщений: 5,265
Записей в блоге: 9
27.05.2015, 11:27 32
Цитата Сообщение от FAIZ112 Посмотреть сообщение
Нужен последний удовлетворяющий.
Что за последний?
0
1 / 1 / 2
Регистрация: 19.11.2014
Сообщений: 126
27.05.2015, 11:31  [ТС] 33
Цитата Сообщение от FAIZ112 Посмотреть сообщение
после последней из строк, в которых нет пробела. Если таких строк нет, то новая строка должна быть добавлена после всех строк имеющегося файла.
То есть найти последнюю строку в которой нет пробела, и вставить запись.

Добавлено через 2 минуты
C#
1
if (l[i][j] == ' ')
при таком условии работает, а если поменять на
C#
1
if (l[i][j] != ' ')
уже нет.
0
911 / 815 / 333
Регистрация: 03.02.2015
Сообщений: 5,265
Записей в блоге: 9
27.05.2015, 11:50 34
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int remi = 0;
bool emt = false;
int Memi = 0;
 
for (int i = 0; i < l.Count; i++)
{
      emt = false;
 
      for (int j = 0; j < l[i].Length; j++)
     {
                if (l[i][j] == ' ')
                {
                      emt = true;
                      break;
                 }
      } 
 
       if (!emt )
            Memi = i;
 
}
 
l[Memi ] += "kzkzkzkkz";
или

C#
1
2
3
4
5
6
7
8
int Memi = 0;
 
for (int i = 0; i < l.Count; i++)
    if (l[i].Split(' ').Lenght == 0)
          Memi = i;
 
 
l[Memi] += "kzkzkzkkz";
Не проверял
0
27.05.2015, 11:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.05.2015, 11:50
Помогаю со студенческими работами здесь

Добавить записи уже в существующий текстовый файл
using (StreamWriter stream = File.Open(&quot;Data&quot; + @&quot;\Info.txt&quot;, FileMode.Append)) ...

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

Как в среде программирования SharpDevelop добавить текстовый файл?
Как в среде программирования SharpDeveloр добавить текстовый файл? допустим у меня есть какой-то...

Имеется текстовый файл. Добавить какой-либо символ
Имеется текстовый файл. Добавить какой-либо текст/символ после 5-ой строки и после последней из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
34
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru