С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/25: Рейтинг темы: голосов - 25, средняя оценка - 4.96
5 / 5 / 3
Регистрация: 17.04.2011
Сообщений: 54

Чтение строки из всех файлов в папке

17.04.2011, 18:33. Показов 5024. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прошу помощи!
Задача такая: Чтение только второй строки из всех текстовых файлов в папке (например D:\111) в новый (который необходимо создать) текстовый файл (D:\111\All.txt который следовательно должен иметь только все вторые строки из всех текстовых файлов).
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.04.2011, 18:33
Ответы с готовыми решениями:

Удалить N строк из всех файлов в выбранной папке
с одним файлом у меня проблем не возникло: считал файл и при записи пропустил через Skip нужное количество строк, а вот как сделать чтобы...

Получение всех имен файлов в папке и во вложенных подпапках
public partial class Form1 : Form { public Form1() { InitializeComponent(); } ...

Проверить и изменить названия всех файлов в текущей папке и подпапках
Работаю в Visual Studio 2012. Собственно, нужно проверить длину имён всех файлов и сократить названия, если они длиннее 20 символов. ...

4
мастер топоров
 Аватар для Koran
917 / 742 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
17.04.2011, 19:09
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System;
using System.IO;
 
namespace MyProgram {
    class Programm {
        static void Main(string[] args) {
            string folderName = @"D:\Work\C#\Projects\TempConsoleProject\TempConsoleProject\bin\Debug\01"; //папка с текстовыми файлами
            string[] allFiles = Directory.GetFiles(folderName, "*.txt");
            string all2StringText = string.Empty;
            int numberOfStringInEachFile = 2;   //указываем номер строки, которую нужно считать
            foreach (string s in allFiles) {
                using (StreamReader sr = new StreamReader(new FileStream(s, FileMode.Open, FileAccess.Read))) {
                    for (int i = 0; i < numberOfStringInEachFile; i++) {    //проскакиваем нужное количество строк
                        sr.ReadLine();
                    }
                    all2StringText += sr.ReadLine() + Environment.NewLine;
                }
            }
            if (File.Exists("all.txt")) { 
                File.Delete("all.txt");
            }
            File.WriteAllText("all.txt", all2StringText);  //сохранит в папку с исполняемым файлом. при необходимости прописать нужный путь
            Console.WriteLine("fifnished!");
            Console.ReadKey();
        }
    }
}
по идее можно сделать через Seek
если кто подскажет как по-человечески перескочить нужное количество строк, будет классно
1
Заблокирован
17.04.2011, 20:04
Цитата Сообщение от Koran Посмотреть сообщение
если кто подскажет как по-человечески перескочить нужное количество строк, будет классно
Наверное так:
C#
1
2
3
            string[] readText = System.IO.File.ReadAllLines(@"D:\test.txt");
            //выводим вторую строку
            Console.WriteLine(readText[1]);
0
мастер топоров
 Аватар для Koran
917 / 742 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
17.04.2011, 20:12
ещё даже не так.. вот так вот
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
using System;
using System.IO;
 
namespace MyProgram {
    class Programm {
        static void Main(string[] args) {
            string folderName = @"D:\Work\C#\Projects\TempConsoleProject\TempConsoleProject\bin\Debug\01"; //папка с текстовыми файлами
            string[] allFiles = Directory.GetFiles(folderName, "*.txt");
            string all2StringText = string.Empty;
            int numberOfStringInEachFile = 2;   //указываем номер строки, которую нужно считать
            foreach (string s in allFiles) {
                try {
                    all2StringText += (File.ReadAllLines(s)[numberOfStringInEachFile - 1]) + Environment.NewLine;
                } catch (IndexOutOfRangeException) {
                    Console.WriteLine("В файле {0} нет {1}-ой строки", s, numberOfStringInEachFile);
                } catch (Exception e) {
                    Console.WriteLine(e.Message);
                }
            }
            if (File.Exists("all.txt")) {
                File.Delete("all.txt");
            }
            File.WriteAllText("all.txt", all2StringText);  //сохранит в папку с исполняемым файлом. при необходимости прописать нужный путь
            Console.WriteLine("fifnished!");
            Console.ReadKey();
        }
    }
}

ато мне не хотелось запоминать промежуточный массив и сделал через потоки предыдущий пример

Добавлено через 38 секунд
SSV, да, вы правы, но не стоит писать в массив
1
5 / 5 / 3
Регистрация: 17.04.2011
Сообщений: 54
19.04.2011, 21:06  [ТС]
Спасибо. Буду пробовать.

Добавлено через 23 часа 30 минут
Спасибо. Заработало ))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.04.2011, 21:06
Помогаю со студенческими работами здесь

Как вывести список всех файлов в папке с определенным расширением?
Здравствуйте! Есть textbox и кнопка. При нажатии на кнопку нужно, что бы программа &quot;пошла&quot; по пути &quot;C:/Files/&quot; и...

Получения всех файлов в папке и подпапках игнорируя ошибку с правами доступа
К слову сам вопрос. Как получить все файлы в папке и подпапках игнорирую ошибку с правами доступа или любую другую

Чтение из всех текстовых файлов в каталоге
Обьясните и лучше с кодом след задачу: Есть папка, в которой целая куча txt файликов. Как мне считать инфу со всех файликов и записать...

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

Сложить значения определённой строки из всех файлов в папке
Всем привет! В папке лежат текстовые файлы. У каждого из этих файлов надо прочитать шестую строку и сложить эти значения. Как это...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru