0 / 0 / 0
Регистрация: 11.10.2010
Сообщений: 82
1

Вывести количество файлов с указанными именами, которые имеются в текущем каталоге ...

13.03.2011, 18:28. Показов 4414. Ответов 14
Метки нет (Все метки)

Помогите пожалуйста решить задачу: даны имена четырех файлов. Вывести количество файлов с указанными именами, которые имеются в текущем каталоге. Заранее спасибо)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.03.2011, 18:28
Ответы с готовыми решениями:

Удаление файлов в текущем каталоге
Помогите решить такую задачу по "Информационной безопасности", надо написать такую программу что...

Вывести количество файлов с указанными именами, которые имеются в текущем каталоге
Даны имена четырех файлов. Вывести количество файлов с указанными именами, которые имеются в...

Проверить наличие в текущем каталоге файлов одинакового размера и вывести их имена, если такие файлы имеются
Здрасти. Задача: проверить наличие в текущем каталоге файлов одинакового размера. Если такие файлы...

Вывести расширения файлов в текущем каталоге (без повторов)
Помогите написать батник. Нужно вывести расширения файлов в текущем каталоге. Если есть несколько...

14
6259 / 3560 / 898
Регистрация: 28.10.2010
Сообщений: 5,926
13.03.2011, 18:38 2
Даны четыре файла с указанными именами. Естественно что файлов будет четыре в текущем каталоге потому что не может быть файлов с одинакоывм именем. это я могу без программирования сказать.
0
0 / 0 / 0
Регистрация: 11.10.2010
Сообщений: 82
13.03.2011, 18:40  [ТС] 3
Цитата Сообщение от Петррр Посмотреть сообщение
Даны четыре файла с указанными именами. Естественно что файлов будет четыре в текущем каталоге потому что не может быть файлов с одинакоывм именем. это я могу без программирования сказать.
Это и я понимаю, но задачу надо по любому решить, а я не знаю как)
0
75 / 75 / 32
Регистрация: 06.02.2011
Сообщений: 127
13.03.2011, 18:45 4
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
using System.Collections.Generic;
using System.IO;
using System.Text.RegularExpressions;
namespace Schildt
{
    class Program
    {
        static void Main()
        {
            Regex regex=new Regex("Имя_файла");
            Regex regex1 = new Regex("Имя_файла");
            Regex regex2 = new Regex("Имя_файла");
            Regex regex3 = new Regex("Имя_файла");
            FileInfo[] fileInfos = new DirectoryInfo(@"каталог").GetFiles();
            List<string >list=new List<string>();
            foreach (FileInfo fileInfo in fileInfos)
            {
                if(regex.IsMatch(fileInfo.Name)||regex1.IsMatch(fileInfo.Name)||regex2.IsMatch(fileInfo.Name)||regex3.IsMatch(fileInfo.Name))
                {
                    list.Add(fileInfo.Name);
                }
            }
        }
    }
}
Добавлено через 3 минуты
И распечатать
C#
1
2
3
4
foreach (string s in list)
            {
                Console.WriteLine(s);
            }
1
6259 / 3560 / 898
Регистрация: 28.10.2010
Сообщений: 5,926
13.03.2011, 18:50 5
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] files = { "1.txt", "2.txt", "3.txt", "1.GDB" };
            string dir = @"C:\";
 
            for (int i = 0; i < files.Length; i++)
            {
                if (System.IO.File.Exists(dir + files[i]))
                {
                    Console.WriteLine("Файл существует: " + files[i]);
                }
            }
            Console.ReadKey(true);
        }
    }
}
1
0 / 0 / 0
Регистрация: 11.10.2010
Сообщений: 82
14.03.2011, 06:00  [ТС] 6
Цитата Сообщение от slava_g1 Посмотреть сообщение
[CSHARP]using System.Collections.Generic;
using System.IO;
using System.Text.RegularExpressions;
namespace Schildt
{
class Program
{
static void Main()
{
Regex regex=new Regex("Имя_файла");
Regex regex1 = new Regex("Имя_файла");
Regex regex2 = new Regex("Имя_файла");
Regex regex3 = new Regex("Имя_файла");
FileInfo[] fileInfos = new DirectoryInfo(@"каталог").GetFiles();
List<string >list=new List<string>();
foreach (FileInfo fileInfo in fileInfos)
{
if(regex.IsMatch(fileInfo.Name)||regex1.IsMatch(fi leInfo.Name)||regex2.IsMatch(fileInfo.Name)||regex 3.IsMatch(fileInfo.Name))
{
list.Add(fileInfo.Name);
}
}
}
}
}
Почему-то Ваш код у меня не работает, подчеркиваются все Regex, FileInfo, DirectoryInfo и выдает:
Не удалось найти имя типа или пространства имен "Regex" (пропущена директива using или ссылка на сборку?)
Не удалось найти имя типа или пространства имен "FileInfo" (пропущена директива using или ссылка на сборку?)
Не удалось найти имя типа или пространства имен "DirectoryInfo" (пропущена директива using или ссылка на сборку?)
Что не так???

Добавлено через 3 минуты
Цитата Сообщение от Петррр Посмотреть сообщение
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] files = { "1.txt", "2.txt", "3.txt", "1.GDB" };
            string dir = @"C:\";
 
            for (int i = 0; i < files.Length; i++)
            {
                if (System.IO.File.Exists(dir + files[i]))
                {
                    Console.WriteLine("Файл существует: " + files[i]);
                }
            }
            Console.ReadKey(true);
        }
    }
}

Если честно, я не совсем понимаю что нужно вводить или нажимать, код работает, черный экран появляется, а что дальше? я что-нить должна вводить или нет, ничего не выводится, просто черный экран, без каких-либо записей, а при нажатии любой клавиши, он исчезает так ничего и не отобразив. Вы не могли бы пояснить, как этот код работает, мне нужно что-то вводить или еще что???
0
Заблокирован
14.03.2011, 07:07 7
Цитата Сообщение от ~Mi@mi~ Посмотреть сообщение
Если честно, я не совсем понимаю что нужно вводить или нажимать, код работает, черный экран появляется, а что дальше?
Тебе необходимо вначале эти четыре файла создать. В проге Петррр(а) они находятся в корневом каталоге диска C.
Цитата Сообщение от ~Mi@mi~ Посмотреть сообщение
Почему-то Ваш код у меня не работает, подчеркиваются все Regex, FileInfo, DirectoryInfo
Если у тебя объявлены необходимые пространства имен - этого не должно быть. Проверь, если у тебя
using System.IO; и using System.Text.RegularExpressions;
1
75 / 75 / 32
Регистрация: 06.02.2011
Сообщений: 127
14.03.2011, 07:46 8
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
using System;
using System.IO;//DirectoryInfo
using System.Linq;
using System.Text.RegularExpressions;//Regex
namespace Schildt
{
    class Program
    {
        static void Main()
        {
            Regex regex = new Regex("1.txt");
            Regex regex1 = new Regex("Array.txt");
            Regex regex2 = new Regex("USEFULL.rzr");
            Regex regex3 = new Regex("USEFULL.rar");
            var fileInfos = new DirectoryInfo(@"E:\").GetFiles();
            var list1 = (from info in fileInfos
                         where regex.IsMatch(info.Name) || regex1.IsMatch(info.Name) ||
                                  regex2.IsMatch(info.Name) || regex3.IsMatch(info.Name)
                         select info.Name).ToList();
            foreach (var s in list1)
                Console.WriteLine(s);
        }
    }
}
Вот тот же пример, немного переделан
1
0 / 0 / 0
Регистрация: 11.10.2010
Сообщений: 82
14.03.2011, 20:13  [ТС] 9
Окей, спасибо, все отлично работает, выводит текстовые док-ы, но как это реализовать в приложении Windows Forms??? Пусть даже просто будет textBox ((Multiline-true)для вывода этих док-ов) и button, и как написать, чтобы прога при клике на кнопку выводила список док-ов в textBox???
0
Заблокирован
14.03.2011, 22:18 10
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private void button1_Click(object sender, EventArgs e)
        {
            textBox1.Text = string.Empty;
 
            string[] files = { "1.txt", "2.txt", "3.txt", "1.GDB" };
            string dir = @"C:\";
 
            for (int i = 0; i < files.Length; i++)
            {
                if (System.IO.File.Exists(dir + files[i]))
                {
                    textBox1.Text += "Файл существует: " + files[i] + Environment.NewLine;
                }
                else MessageBox.Show("Файл " +  files[i]  +" не существует" ); 
            }
        }
1
0 / 0 / 0
Регистрация: 11.10.2010
Сообщений: 82
15.03.2011, 20:03  [ТС] 11
SSV, большое Вам спасибо, все работает. Единственное я не могу понять - создаю текстовые док-ы, а мне при клике выводится, что их не существует, почему? Может вначале надо что-то ввести? Не могли бы Вы немного объяснить Ваш код)
0
Заблокирован
15.03.2011, 22:47 12
Цитата Сообщение от ~Mi@mi~ Посмотреть сообщение
Единственное я не могу понять - создаю текстовые док-ы, а мне при клике выводится, что их не существует
Неужели? И где же ты их создаешь? Если они у тебя созданы в корневом каталоге диска С - то всё должно работать. Ладушки. Давай сделаем по-другому.
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
string[] files = { "1.txt", "2.txt", "3.txt", "4.txt" };
        string dir = @"C:\";
 
        private void button1_Click(object sender, EventArgs e)
        {
            foreach (string str in files)
            {
                using (System.IO.StreamWriter file = new System.IO.StreamWriter(dir + str, true))
                {
                    file.WriteLine("Привет");
                }
            }
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            textBox1.Text = string.Empty;           
 
            for (int i = 0; i < files.Length; i++)
            {
                if (System.IO.File.Exists(dir + files[i]))
                {
                    textBox1.Text += "Файл существует: " + files[i] + Environment.NewLine;
                }
                else MessageBox.Show("Файл " + files[i] + " не существует");
            }
        }
1
0 / 0 / 0
Регистрация: 11.10.2010
Сообщений: 82
16.03.2011, 20:32  [ТС] 13
С горем да на пополам "Ладушки" заработали) Круто, огромное Вам спасибо, прям таки спасли Но еще 1 вопрос: все выполняет 2-ая кнопка, а зачем нам 1-я, что она делает? лично у меня ничего, ну в смысле полезного(кроме записи привет))
0
Заблокирован
16.03.2011, 22:12 14
Цитата Сообщение от ~Mi@mi~ Посмотреть сообщение
зачем нам 1-я, что она делает? лично у меня ничего, ну в смысле полезного(кроме записи привет))
Да ничего полезного она и не собиралась делать
Я её просто добавил, что б создать необходимые тебе по заданию четыре файла, а то вроде как бы это у тебя не получалось. Вот и всё и никакого тайного смысла здесь нет
1
0 / 0 / 0
Регистрация: 11.10.2010
Сообщений: 82
17.03.2011, 19:42  [ТС] 15
Все понятненько) Большое-большое Вам, SSV, спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.03.2011, 19:42
Помогаю со студенческими работами здесь

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

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

Вывести на экран первые 2 строки всех файлов с раcширением 'root' в текущем каталоге
Вывести на экран первые 2 сторки всех файлов с роcширением 'root' в поточном каталоге пожалуйста,...

Вывести на экран в текущем каталоге имена тех каталогов, которые в себе не содержат подкаталогов
Здравствуйте.. Выдали данное задание на С++ под linux Разработать программу, которая выводит на...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru