Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
20 / 19 / 4
Регистрация: 22.03.2018
Сообщений: 701
.NET 4.x

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

21.01.2019, 21:20. Показов 719. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как открывать случайные файлы из директории и делать чтения случайного любого файла из данной директорий к примеру у нас есть в папке три файла и их надо случайным образом открыть то есть 1.txt 2.txt 3.txt и я когда запускаю программу то она случайно выбирает любой файл из данной директорий делает с чтения из него и выводи на консоль то что хранится в файле но путь должен быть указан только на директорию случайных файлов но как это сделать кто нибудь знает вот я по пробовал сделать код но он не работает так как я хотел именно что бы он делал он мне выводит что есть в данной директорий и какой текст я читаю из файла на который я указал путь а мне надо сделать так что бы я не указывал путь а он открывался случайно то есть это может быть любой файл из трёх файлов 1.txt или 3.txt ну я думаю смысл понятен что именно я хочу сделать можете мне пожалуйста помочь реализовать или до писать мой данный код ?

Добавлено через 23 секунды
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
29
30
31
32
33
34
35
36
37
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
using System.IO;
 
namespace ConsoleApp9
{
    class Program
    {
        static void Main(string[] args)
        {
            string PathFile = @"C:\Users\Никита\source\repos\ConsoleApp9\ConsoleApp9\bin\Debug";
            Random random = new Random();
            var dir = new DirectoryInfo(PathFile);
            int maxCountFile = dir.GetFiles().Count();
            for (int i = 0; i < maxCountFile; i++)
            {
                int rand1 = random.Next(0, maxCountFile);
                Console.WriteLine(Path.GetFileNameWithoutExtension(dir.GetFiles()[i].FullName));
            }
            using (FileStream fstream = File.OpenRead(@"C:\Users\Никита\source\repos\ConsoleApp9\ConsoleApp9\bin\Debug\1.txt"))
            {
                // преобразуем строку в байты
                byte[] array = new byte[fstream.Length];
                // считываем данные
                fstream.Read(array, 0, array.Length);
                // декодируем байты в строку
                string textFromFile = System.Text.Encoding.Default.GetString(array);
                Console.WriteLine("Текст из файла: {0}", textFromFile);
            }
            Console.ReadKey();
        }
    }
}
Добавлено через 2 минуты
Есть ещё один код но не знаю как он работает или нет нашел на сайте ?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
 
namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            Random rand = new Random();
            //в папке должны быть только эти 3 файла
            var file = Directory.GetFiles(@"путь к директории с файлами")[rand.Next(3)];
            string[] lines = File.ReadAllLines(file);
        }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.01.2019, 21:20
Ответы с готовыми решениями:

Как сделать способ закраски случайным образом и случайным цветом?
Как сделать способ закраски случайным образом и случайным цветом? т.е чтобы он закрашивал, допустим мои прямоугольнки, рандомными кистями...

как заполнять массив случайным образом?????????
ПОМОГИТЕ КТО НИКАК НЕ МОГУ РЕШИТЬ ЗАДАЧКУ!!!!!!!! Массив заполнен случайными числами в диапазоне от 0 до 50 размера N. Найти минимальный...

Как переставить строки случайным образом?
Есть ли в word такая функция, которая может случайным образом переставить строки в тексте? Например составил список вопросов,...

2
 Аватар для Кузнец кода
169 / 188 / 35
Регистрация: 21.01.2018
Сообщений: 230
21.01.2019, 22:21
Где должен открываться в блокноте или в консоле?

Добавлено через 17 минут
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
29
30
31
32
static void Main(string[] args)
        {
            string PathFile = @"E:\test\";
            Random random = new Random();
            var dir = new DirectoryInfo(PathFile);
            int maxCountFile = dir.GetFiles().Count();
            for (int i = 0; i < maxCountFile; i++)
            {
                int rand1 = random.Next(0, maxCountFile);
                //Это в блокноте
                System.Diagnostics.Process.Start(dir.GetFiles()[rand1].FullName);
                //Это в консоли
                Console.WriteLine(ReadFile(dir.GetFiles()[rand1].FullName));
               // Console.WriteLine(Path.GetFileNameWithoutExtension(dir.GetFiles()[i].FullName));
            }
            Console.ReadKey();
        }
        private static string ReadFile(string file)
        {
            try
            {   
                using (StreamReader sr = new StreamReader(file))
                {
                    String line = sr.ReadToEnd();
                    return line;
                }
            }
            catch (Exception e)
            {
                return "Файл не может быть прочитан: \n " + e.Message;
            }
        }
0
20 / 19 / 4
Регистрация: 22.03.2018
Сообщений: 701
21.01.2019, 23:17  [ТС]
В консоли

Добавлено через 43 минуты
Иза чего ошибка ?

Необработанное исключение: System.IO.DirectoryNotFoundException: Не удалось найти часть пути "C:\Users\Никита\source\repos\ConsoleApp 10\ConsoleApp10\bin\Debug\Debug".
в System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
в System.IO.FileSystemEnumerableIterator`1 .CommonInit()
в System.IO.FileSystemEnumerableIterator`1 ..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost)
в System.IO.DirectoryInfo.InternalGetFiles (String searchPattern, SearchOption searchOption)
в System.IO.DirectoryInfo.GetFiles()
в ConsoleApp10.Program.Main(String[] args) в C:\Users\Никита\source\repos\ConsoleApp1 0\ConsoleApp10\Program.cs:строка 18

Добавлено через 1 минуту
То что записано в блокноте должно появится в консоли и так с любым файлом из директорий как мне это сделать ?

Добавлено через 4 минуты
вот в этой строке ошибка int maxCountFile = dir.GetFiles().Count();

Добавлено через 13 секунд
мне показывает c#

Добавлено через 5 минут
Я исправил ошибку но должно работать так что один файл открывается один раз при запуски консольного приложения и делает из него чтения.
А не то он мне выбирает рандомные файлы и делает сразу со всех файлов в разной последовательности чтения не так не должно быть вот в этом том том то и суть моего условия была понимаешь меня спасибо за ранние если сможешь мне помочь и реализуешь код.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.01.2019, 23:17
Помогаю со студенческими работами здесь

Как поменять случайным образом три переменных
Как можно реализовать принцип &quot;махнуть не глядя&quot; (то есть поменять случайным образом) линейно (без операторов цикла и разветвлений) для...

Как на Image рисовать случайным образом линии.
Люди добрые, подскажите, пожалуйста, как на загруженном Image рисовать случайным образом линии разной длины, чтобы они имели различное...

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

как заполнить одномерный массив случайным образом?
как заполнить одномерный массив случайным образом? Добавлено через 52 минуты напишите плиз...

Как инициализировать поля класса случайным образом?
Есть некий класс, и его наследник, abstract class Person { public string Name { get; set; } public ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
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
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru