Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.53/112: Рейтинг темы: голосов - 112, средняя оценка - 4.53
7 / 7 / 4
Регистрация: 08.07.2010
Сообщений: 116

Как создать папку с именем второго слова из второй строки из файла?

10.08.2010, 15:55. Показов 22643. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
как создать папку с именем второго слова из второй строки из файла inf.txt?
т.е. как то так надо
C#
1
2
3
4
StreamReader sr = new StreamReader("C:\\inf.txt", Encoding.Default);
DirectoryInfo dir = new DirectoryInfo("C:\\" + второе слово второй строки);
dir.Create();
sr.Close();
но до конца не могу разобаться, весь день промучился
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.08.2010, 15:55
Ответы с готовыми решениями:

Как создать папку, именем которой будет дата создания файла?
Здравствуйте, уважаемые форумчане. Подскажите, пожалуйста, как создать папку имя которой будет дата создания файла. Т.е. есть папка...

Создать для каждого файла папку его имени и перенести в свою папку под именем index.html
Помогите товарищи В папке файлы без расширений нужно создать для каждого файла папку его имени и перенести каждый файл в свою папку при...

Cтрока: Взять строки из первого файла и к строкам с чётным номером выполнить конкатенацию второй строки второго файла
Имеется два файла .text.В первом содержится n количество строк, Последний элемент строки её номер . Второй файл содержит две строки...

22
 Аватар для kuroiryuu
328 / 312 / 68
Регистрация: 05.11.2009
Сообщений: 712
10.08.2010, 16:13
что-то в этом духе:
C#
1
2
3
4
5
StreamReader sr = new StreamReader("C:\\inf.txt", Encoding.Default);
string[] stringArray = sr.ReadToEnd().Split(new char[] {'\n', '\r'},StringSplitOptions.RemoveEmptyEntries);
sr.Close();
DirectoryInfo dir = new DirectoryInfo("C:\\" + stringArray[1].Substring(stringArray[1].IndexOf("first word"), 8); /* к примеру второе слово будет линной 8 символов*/);
dir.Create();
0
7 / 7 / 4
Регистрация: 08.07.2010
Сообщений: 116
10.08.2010, 16:33  [ТС]
получается создается папка с именем first wo, т.е. ищется значение first word и отсчитывается 8 символов. А если к примеру я не знаю какое второе слово в строчке, тогда как быть?
0
 Аватар для Бельфегор
688 / 602 / 139
Регистрация: 08.05.2009
Сообщений: 1,098
10.08.2010, 17:38
C#
1
using System.IO
C#
1
2
StreamReader sr = new StreamReader("C:\\inf.txt", Encoding.Default);
Directory.Create("c:\\"+(sr.ReadToEnd().Split('\n')[1]).Split(' ')[1]);
1
7 / 7 / 4
Регистрация: 08.07.2010
Сообщений: 116
10.08.2010, 17:49  [ТС]
Цитата Сообщение от VelZeVuL Посмотреть сообщение
C#
1
using System.IO
C#
1
2
StreamReader sr = new StreamReader("C:\\inf.txt", Encoding.Default);
Directory.Create("c:\\"+(sr.ReadToEnd().Split('\n')[1]).Split(' ')[1]);
вылазит такая ошибка: 'System.IO.Directory' does not contain a definition for 'Create'
0
 Аватар для Бельфегор
688 / 602 / 139
Регистрация: 08.05.2009
Сообщений: 1,098
10.08.2010, 17:51
извини должно быть

C#
1
Directory.CreateDirectory("c:\\"+(sr.ReadToEnd().Split('\n')[1]).Split(' ')[1]);
0
7 / 7 / 4
Регистрация: 08.07.2010
Сообщений: 116
10.08.2010, 18:06  [ТС]
спасибо большое! а можешь объяснить код?
C#
1
Directory.CreateDirectory("c:\\"+(sr.ReadToEnd().Split('\n')[1]).Split(' ')[1]);
0
 Аватар для Бельфегор
688 / 602 / 139
Регистрация: 08.05.2009
Сообщений: 1,098
10.08.2010, 18:18
Directory.CreateDirectory("c:\\"+(sr.Rea dToEnd().Split('\n')[1]).Split(' ')[1]);

смотри Directory это класс в пространстве имен System.IO который делает многе с папками (создает, удаляет и т.д.)

CreatDirectory() его метод который создает папку

дальше после того как прочитали твой файл стрим ридером, делим его на массив строк через символ '\n' (т.е. переход строки, раньше notepad переходом считал '\n\r' но теперь и '\n' понимает, остальные текстовые редактры тоже '\n' переходм считают) после разбиения на массив строк берем вторую строку (поскольку первой элемент массива нумируется как 0, то второй 1) т.е. Split('\n')[1]. Вот мы получили вторую строку, теперь нам нужно второе слово в этой сторке, поэтому делим ее на массив строк через пробел(если слова деляатся не пробелом а другим символом, то через этот символ) и снова берем второй элемет массива то есть второе слово. и все.
надеюсь внятно обьяаснил
1
7 / 7 / 4
Регистрация: 08.07.2010
Сообщений: 116
11.08.2010, 11:07  [ТС]
попытался седня сделать еще так чтобы в папке с именем второго слова из второй строки, создался файл также с именем второго слова из второй строки, но как-то пока не получается
C#
1
2
3
StreamReader sr = new StreamReader("C:\\inf.txt", Encoding.Default);
Directory.CreateDirectory("c:\\"+(sr.ReadToEnd().Split('\n')[1]).Split(' ')[1] + 
                                  "\\" + File.CreateText((sr.ReadToEnd().Split('\n')[1]).Split(' ')[1]) + ".txt");
что не так? как правильно это можно сделать?
еще такой вопрос, как это можно сделать с предпоследним словом?
0
 Аватар для Бельфегор
688 / 602 / 139
Регистрация: 08.05.2009
Сообщений: 1,098
11.08.2010, 11:53
Цитата Сообщение от Marych Посмотреть сообщение
Directory.CreateDirectory("c:\\"+(sr.Rea dToEnd().Split('\n')[1]).Split(' ')[1] +
"\\" + File.CreateText((sr.ReadToEnd().Split('\ n')[1]).Split(' ')[1]) + ".txt");[/CSHARP]
ты пытаешься создать файл в методе Create Directory, в котором должно быть string
во первых присвой sr.ReadToEnd().Split('\n')[1]).Split(' ')[1] этому какую нибудь переменную типа string чтоб не мучатся с кодом и по два раза не обрезать текст

C#
1
string str=sr.ReadToEnd().Split('\n')[1]).Split(' ')[1] ;
создаем папку
C#
1
Directory.CreateDirectory("c:\\"+str);
и файл в ней

C#
1
File.CreateText("c:\\"+str+"\\"+str)
;
2
7 / 7 / 4
Регистрация: 08.07.2010
Сообщений: 116
11.08.2010, 15:05  [ТС]
спасибо, щас буду разбираться) а можно еще сделать так чтобы например читалось с 5 позиции в строке и до пробела? что надо использовать?
0
 Аватар для Бельфегор
688 / 602 / 139
Регистрация: 08.05.2009
Сообщений: 1,098
11.08.2010, 15:19
ну раздели полученный текст одновременно и переходом строки и пробелом

C#
1
sr.ReadToEnd('\n',' ')
а потом бери что хочешь
0
7 / 7 / 4
Регистрация: 08.07.2010
Сообщений: 116
11.08.2010, 17:12  [ТС]
неужели это будет правильно?)
C#
1
sr.ReadToEnd().Split('\n')[1].Substring(4).Split(' ')[0];
вроде работает)

Добавлено через 1 час 52 минуты
опять я
пытаюсь проделать это со всеми файлами которые лежат в папке, сначало сделал чтобы создавались только папки
C#
1
2
3
4
5
6
7
8
9
DirectoryInfo dir = new DirectoryInfo("C:\\Пример");
FileInfo[] file = dir.GetFiles("*.txt");
foreach (FileInfo fi in file)
{
    StreamReader sr = new StreamReader(fi.OpenRead());
    string str1 = sr.ReadToEnd().Split('\n')[1].Split(' ')[0];
    Directory.CreateDirectory("c:\\folders\\" + str1);
    sr.Close();
}
создаются все нормально
теперь пробую сделать, чтобы в эти папки записались файлы со второй строки 5 позиции курсора
C#
1
2
3
4
5
6
7
8
9
10
11
DirectoryInfo dir = new DirectoryInfo("C:\\Пример");
FileInfo[] file = dir.GetFiles("*.txt");
foreach (FileInfo fi in file)
{
     StreamReader sr = new StreamReader(fi.OpenRead());
     string str1 = sr.ReadToEnd().Split('\n')[1].Split(' ')[0];
     Directory.CreateDirectory("c:\\folders\\" + str1);
     string str = sr.ReadToEnd().Split('\n')[1].Substring(4).Split(' ')[0];
     File.CreateText("c:\\folders\\" + str1 + "\\" + str);
     sr.Close();
}
вылазит ошибка: Индекс находится вне границ массива
что это значит?
0
Mobile Developer
 Аватар для lifestyle
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
11.08.2010, 17:41
Простите за (может быть глупость, но я только начниаю с шарпом разбираться) а mkdir'ом никак директорию не создать в шарпе?!
0
 Аватар для Faba
90 / 88 / 17
Регистрация: 30.10.2009
Сообщений: 562
11.08.2010, 19:21
конечно можно, вот:
C#
1
2
3
4
5
void mkdir(string path)
{
    Directory.CreateDirectory(path);
}
mkdir("c:\\folder");
1
Mobile Developer
 Аватар для lifestyle
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
11.08.2010, 21:07
Цитата Сообщение от Faba Посмотреть сообщение
конечно можно, вот:
C#
1
2
3
4
5
void mkdir(string path)
{
    Directory.CreateDirectory(path);
}
mkdir("c:\\folder");
нда, лижбы отписаться.... интересно вы хоть поняли о чем речь то шла или так?
1
 Аватар для Faba
90 / 88 / 17
Регистрация: 30.10.2009
Сообщений: 562
12.08.2010, 08:53
Цитата Сообщение от lifestyle Посмотреть сообщение
нда, лижбы отписаться.... интересно вы хоть поняли о чем речь то шла или так?
какой вопрос - такой ответ)
0
Mobile Developer
 Аватар для lifestyle
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
12.08.2010, 11:14
Цитата Сообщение от Faba Посмотреть сообщение
какой вопрос - такой ответ)
на вашем месте срочно бежал бы в гугл и не позорился,из википедии:

mkdir в операционной системе Unix команда для создания новой директории. Пример использования:
mkdir имя_директории
где имя_директории это имя создаваемой директории. Если использовать как приведено выше, то новая директория будет создана в текущей директории.
Подобная команда есть в DOS (чаще используемая в сокращении md).

ПыСы
Иногда лучше молчать чем говорить.
0
 Аватар для Faba
90 / 88 / 17
Регистрация: 30.10.2009
Сообщений: 562
12.08.2010, 11:24
Цитата Сообщение от lifestyle Посмотреть сообщение
на вашем месте срочно бежал бы в гугл и не позорился,из википедии:
На Вашем месте, я не морочил бы себе голову, думая как использовать функцию mkdir, когда в этой теме не раз была упомянута функция CreateDirectory().
Цитата Сообщение от lifestyle Посмотреть сообщение
ПыСы
Иногда лучше молчать чем говорить.
ПыСы
иногда лучше пользоваться msdn-ом, чем задавать глупые вопросы
0
Mobile Developer
 Аватар для lifestyle
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
12.08.2010, 11:27
типичный, прямой, дотнетовский взгляд на вещи))зачем одно если есть другое))))а вот надо, интересно. Не ограничиваюсь единым решением.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.08.2010, 11:27
Помогаю со студенческими работами здесь

Переписать с сохранением порядка следования строки первого файла во второй, а строки второго файла - в первый
Имеются два текстовых файла с одинаковым числом строк. Переписать с сохранением порядка следования строки первого файла во второй, а строки...

Переписать строки первого файла - во второй, а строки второго файла - в первый
Имеется два текстовых файла с одинаковым числом строк. Переписать с сохранением порядка следования строки первого файла - во второй, а...

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

Удалить из файла все слова, длина которых меньше половины длины самого длинного слова второй строки
Переписать текст в файл output.txt, удалив из него все слова, длина которых меньше половины длины самого длинного слова второй строки.

Считать строку из файла и создать каталог с именем, состоящим из этой строки
День добрый.. Не подскажете можно ли это реализовать в батнике/CMD... Считать стороку из текстовика и на основе считанной строки...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru