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

Считать данные из файла

15.07.2010, 17:16. Показов 8530. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как считать данные из файла????
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
38
39
40
41
42
43
44
45
using System;
using System.Text.RegularExpressions;
using System.Collections.Generic;
using System.IO;
using System.Text;
 
namespace Programming_CSharp
{
    class Test
    {
 
        public static void Main()
        {
            //string string1 = @"2010-06-25 20:58:11 fe80::a4a1:7534:68bd:251%10 POST /webservices/ProductClientService.asmx - 80 SC\login777 fe80::a4a1:7534:68bd:251%10 - 200 0 0 577";
            string string1 = @"2010-06-25 05:13:52 10.4.4.101 POST /SPACE1/ISwitchMemberCtxSvcFacade.rem - 80 - 10.4.4.63 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+5.1.2600.196608;+MS+.NET+Remoting;+MS+.NET+CLR+2.0.50727.3607+) 401 2 5 171";
            Regex theReg = new Regex(@"(?<a>([-\d]+)\s)+(?<b>([:\d]+)\s)+(?<c>([\d\.]+|[\w:%]+)\s)+(?<d>(\w+)\s)+(?<g>/(\w+)/)+(?<e>(\w+\.\w+)\s)+(?<o>(-)\s)+(?<i>(\d+)\s)+(?<t>([\S+]+|[\w-]+)\s)+(?<n>([\d\.]+|[\w:%]+)\s)+(?<AAA>(.+?\+){5})+(?<m>(.+?;){1})+(?<BBB>(.+?\+){6})+(?<s>(\S+))\s+(?<k>(\S+))\s+(?<w>(\S+))\s+(?<z>(\S+))\s+(?<x>(\S+))");
 
            MatchCollection theMatches = theReg.Matches(string1);
 
            foreach (Match theMatch in theMatches)
                if (theMatch.Length != 0)
                {
                    Console.WriteLine("1: {0}", theMatch.Groups["a"]);
                    Console.WriteLine("2: {0}", theMatch.Groups["b"]);
                    Console.WriteLine("3: {0}", theMatch.Groups["c"]);
                    Console.WriteLine("4: {0}", theMatch.Groups["d"]);
                    Console.WriteLine("5: {0}", theMatch.Groups["g"]);
                    Console.WriteLine("6: {0}", theMatch.Groups["e"]);
                    Console.WriteLine("7: {0}", theMatch.Groups["o"]);
                    Console.WriteLine("8: {0}", theMatch.Groups["i"]);
                    Console.WriteLine("9: {0}", theMatch.Groups["t"]);
                    Console.WriteLine("10: {0}", theMatch.Groups["n"]);
                    Console.WriteLine("11: {0}", theMatch.Groups["AAA"]);
                    Console.WriteLine("12: {0}", theMatch.Groups["m"]);
                    Console.WriteLine("13: {0}", theMatch.Groups["BBB"]);
                    Console.WriteLine("14: {0}", theMatch.Groups["s"]);
                    Console.WriteLine("15: {0}", theMatch.Groups["k"]);
                    Console.WriteLine("16: {0}", theMatch.Groups["w"]);
                    Console.WriteLine("17: {0}", theMatch.Groups["z"]);
                    Console.WriteLine("18: {0}", theMatch.Groups["x"]);
                }
            Console.ReadKey();
        }
    }
}
1
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.07.2010, 17:16
Ответы с готовыми решениями:

Описать структуру с полями, считать данные из текстового файла, вывести данные, подсчитать количество
Доброе утро. С C# я знаком весьма посредственно, однако появилась необходимость выполнить на нем следующее задание: Описать структуру с...

Считать данные из файла
Есть структура public struct info_train { public string fromtrain; public string wheretrain; public int countVagon; ...

Считать данные с файла
Нужно считать данные с файла, преобразовать, и записать в массив. Записанные они в файл примерно так: 324110 -442472 626686 ...

9
Padawan
 Аватар для Johnny_D
473 / 323 / 30
Регистрация: 30.01.2010
Сообщений: 1,841
15.07.2010, 17:18
Используйте теги разметки, и при чем здесь файлы?
0
4 / 4 / 1
Регистрация: 08.07.2010
Сообщений: 29
15.07.2010, 17:39  [ТС]
мне нужно считать данные из файла а не писать string string1 = "2010-06-25 05:13:52 10.4.4.101 POST /SPACE1/ISwitchMemberCtxSvcFacade.rem - 80 - 10.4.4.63 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+5.1.2 600.196608;+MS+.NET+Remoting;+MS+.NET+CL R+2.0.50727.3607+) 401 2 5 171";
0
Padawan
 Аватар для Johnny_D
473 / 323 / 30
Регистрация: 30.01.2010
Сообщений: 1,841
15.07.2010, 17:46
ну если я вас правильно понял, это эта ерунда должна валяться в файле, тогда делаем так :

C#
1
2
3
TextReader tr = new StreamReader("input.txt");
String str = "";
str = tr.ReadLine();
1
4 / 4 / 1
Регистрация: 08.07.2010
Сообщений: 29
15.07.2010, 17:50  [ТС]
извините конечно но вы меня не правильно поняли. Нужно открыть файл с такими строками как "2010-06-25 05:13:52 10.4.4.101 POST /SPACE1/ISwitchMemberCtxSvcFacade.rem - 80 - 10.4.4.63 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+5.1.2 600.196608;+MS+.NET+Remoting;+MS+.NET+CL R+2.0.50727.3607+) 401 2 5 171"; и присвоить переменной string string1 =
0
Padawan
 Аватар для Johnny_D
473 / 323 / 30
Регистрация: 30.01.2010
Сообщений: 1,841
15.07.2010, 17:54
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

да нет, это вы меня не поняли, я как раз это вам и написал )
Ну вот полный вариант

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
38
39
40
41
42
43
44
45
46
47
using System;
using System.Text.RegularExpressions;
using System.Collections.Generic;
using System.IO;
using System.Text;
 
namespace Programming_CSharp
{
    class Test
    {
 
        public static void Main()
        {
            TextReader tr = new StreamReader("input.txt");
            String string1 = "";
            string1 = tr.ReadLine();
            
            Regex theReg = new Regex(@"(?<a>([-\d]+)\s)+(?<b>([:\d]+)\s)+(?<c>([\d\.]+|[\w:%]+)\s)+(?<d>(\w+)\s)+(?<g>/(\w+)/)+(?<e>(\w+\.\w+)\s)+(?<o>(-)\s)+(?<i>(\d+)\s)+(?<t>([\S+]+|[\w-]+)\s)+(?<n>([\d\.]+|[\w:%]+)\s)+(?<AAA>(.+?\+){5})+(?<m>(.+?;){1})+(?<BBB>(.+?\+){6})+(?<s>(\S+))\s+(?<k>(\S+))\s+(?<w>(\S+))\s+(?<z>(\S+))\s+(?<x>(\S+))");
 
            MatchCollection theMatches = theReg.Matches(string1);
 
            foreach (Match theMatch in theMatches)
                if (theMatch.Length != 0)
                {
                    Console.WriteLine("1: {0}", theMatch.Groups["a"]);
                    Console.WriteLine("2: {0}", theMatch.Groups["b"]);
                    Console.WriteLine("3: {0}", theMatch.Groups["c"]);
                    Console.WriteLine("4: {0}", theMatch.Groups["d"]);
                    Console.WriteLine("5: {0}", theMatch.Groups["g"]);
                    Console.WriteLine("6: {0}", theMatch.Groups["e"]);
                    Console.WriteLine("7: {0}", theMatch.Groups["o"]);
                    Console.WriteLine("8: {0}", theMatch.Groups["i"]);
                    Console.WriteLine("9: {0}", theMatch.Groups["t"]);
                    Console.WriteLine("10: {0}", theMatch.Groups["n"]);
                    Console.WriteLine("11: {0}", theMatch.Groups["AAA"]);
                    Console.WriteLine("12: {0}", theMatch.Groups["m"]);
                    Console.WriteLine("13: {0}", theMatch.Groups["BBB"]);
                    Console.WriteLine("14: {0}", theMatch.Groups["s"]);
                    Console.WriteLine("15: {0}", theMatch.Groups["k"]);
                    Console.WriteLine("16: {0}", theMatch.Groups["w"]);
                    Console.WriteLine("17: {0}", theMatch.Groups["z"]);
                    Console.WriteLine("18: {0}", theMatch.Groups["x"]);
                }
            Console.ReadKey();
        }
    }
}
Добавлено через 38 секунд
Ну можете все это зациклить, как вам удобней будет
1
4 / 4 / 1
Регистрация: 08.07.2010
Сообщений: 29
15.07.2010, 17:56  [ТС]
извините не правильно понял но оно открывает только одну строку
0
Padawan
 Аватар для Johnny_D
473 / 323 / 30
Регистрация: 30.01.2010
Сообщений: 1,841
15.07.2010, 17:59
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
using System;
using System.Text.RegularExpressions;
using System.Collections.Generic;
using System.IO;
using System.Text;
 
namespace Programming_CSharp
{
    class Test
    {
 
        public static void Main()
        {
            TextReader tr = new StreamReader("input.txt");
            String string1 = "";            
 
            while (tr.Peek() != -1)
            {
                string1 = tr.ReadLine();
            
                Regex theReg = new Regex(@"(?<a>([-\d]+)\s)+(?<b>([:\d]+)\s)+(?<c>([\d\.]+|[\w:%]+)\s)+(?<d>(\w+)\s)+(?<g>/(\w+)/)+(?<e>(\w+\.\w+)\s)+(?<o>(-)\s)+(?<i>(\d+)\s)+(?<t>([\S+]+|[\w-]+)\s)+(?<n>([\d\.]+|[\w:%]+)\s)+(?<AAA>(.+?\+){5})+(?<m>(.+?;){1})+(?<BBB>(.+?\+){6})+(?<s>(\S+))\s+(?<k>(\S+))\s+(?<w>(\S+))\s+(?<z>(\S+))\s+(?<x>(\S+))");
     
                MatchCollection theMatches = theReg.Matches(string1);
     
                foreach (Match theMatch in theMatches)
                    if (theMatch.Length != 0)
                    {
                        Console.WriteLine("1: {0}", theMatch.Groups["a"]);
                        Console.WriteLine("2: {0}", theMatch.Groups["b"]);
                        Console.WriteLine("3: {0}", theMatch.Groups["c"]);
                        Console.WriteLine("4: {0}", theMatch.Groups["d"]);
                        Console.WriteLine("5: {0}", theMatch.Groups["g"]);
                        Console.WriteLine("6: {0}", theMatch.Groups["e"]);
                        Console.WriteLine("7: {0}", theMatch.Groups["o"]);
                        Console.WriteLine("8: {0}", theMatch.Groups["i"]);
                        Console.WriteLine("9: {0}", theMatch.Groups["t"]);
                        Console.WriteLine("10: {0}", theMatch.Groups["n"]);
                        Console.WriteLine("11: {0}", theMatch.Groups["AAA"]);
                        Console.WriteLine("12: {0}", theMatch.Groups["m"]);
                        Console.WriteLine("13: {0}", theMatch.Groups["BBB"]);
                        Console.WriteLine("14: {0}", theMatch.Groups["s"]);
                        Console.WriteLine("15: {0}", theMatch.Groups["k"]);
                        Console.WriteLine("16: {0}", theMatch.Groups["w"]);
                        Console.WriteLine("17: {0}", theMatch.Groups["z"]);
                        Console.WriteLine("18: {0}", theMatch.Groups["x"]);
                    }
                }
            Console.ReadKey();
        }
    }
}
1
4 / 4 / 1
Регистрация: 08.07.2010
Сообщений: 29
15.07.2010, 18:07  [ТС]
я до этого парсил свои строки вот так и потом присваивал каждый элемент массива своему атрибуту помогите сделать точно так только с использованием выше функции

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 fileName = "c:\\base.xml";
 
            XDocument doc = new XDocument();
            doc.Add(new XElement("root"));
            for (int i = 0; i < Line.Length; i++)
            {
                if (Line[i].StartsWith("#")) continue;
                
                var pars = Line[i].Split(new char[] { ' ','/'});
 
                doc.Root.Add(new XElement("track",
                 new XAttribute("date", pars[0]),
                 new XAttribute("time", pars[1]),
                 new XAttribute("sip", pars[2]),
                 new XAttribute("csmethod", pars[3]),
                 new XAttribute("csuristem", pars[4]),
                 new XAttribute("csuriquery", pars[5]),
                 new XAttribute("sport", pars[6]),
                 new XAttribute("csusername", pars[7]),
                 new XAttribute("cip", pars[8]),
                 new XAttribute("csUserAgent", pars[9]),
                 new XAttribute("scstatus", pars[10]),
                 new XAttribute("scsubstatus", pars[11]),
                 new XAttribute("s", pars[12]),
                 new XAttribute("t", pars[13])));
            }
            doc.Save(fileName);
0
Padawan
 Аватар для Johnny_D
473 / 323 / 30
Регистрация: 30.01.2010
Сообщений: 1,841
15.07.2010, 22:51
Я вас не совсем понял, вы хотите все что вы распарсили сохранить в xml файл в размеченном виде?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.07.2010, 22:51
Помогаю со студенческими работами здесь

Считать данные с Excel файла
Не могу понять почему ругается компилятор(( и кто может ответить почему в Add Reference во вкладке .NET отсутствуют первичные сборки...

Как считать данные из файла в массив
Собственно , есть файл .txt в нем записаны числа, мне нужно считать данные из файла в массив, потом отсортировать массив(это я знаю как),...

Считать данные с текстового файла, и изменить их
Добрый вечер. Есть текстовый файл(txt). Пример: 001\Мастер и Маргарита\Булгаков\есть\3 002\Над пропастью во ржи\Сэлинджер\есть\2 ...

Считать данные из файла и вывести на экран
Подскажите пожалуйста, каким самым простым способом можнно считать с файла и вывести на экран?

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru