Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2013, 15:01   #1
Alexander_z
 
Регистрация: 19.02.2013
Сообщений: 5
По умолчанию Вывести 10 последних строк лога!

Вообщем имеется txt файл,который заполняется так:
О: [12001]-Г ПОДОЛЬСКА"СПОРТ-СЕРВИС"|d1962eac-99db-45fb-8670-8764b147d253
О: [1315901]-ЖЕЛЕЗОБЕТОННЫЙ КОМБИНАТ - 8|ddd99dc0-afcd-48cf-96f2-e2565b6c898d
О: [806901]-ФИРМА "КРИСТИ СЕРВИС"|e03fb53c-aa95-4898-a8ee-75842f3a3efb
О: [12001]-Г ПОДОЛЬСКА"СПОРТ-СЕРВИС"|d1962eac-99db-45fb-8670-8764b147d253
Нужно прочитать данный файл, это я делаю таким образом :
var bases = new List<string>();
var paths = new List<string>();
File.ReadAllLines(@"c:\Log_10Pin.tx t").ToList().ForEach(s =>
{
var arr = s.Split('|');
bases.Add(arr[0]);
paths.Add(arr[1]);
});
Но тут соответственно я читаю весь файл,как прочитать именно последние 10 строк файла??
Подскажите пожалуйста!
Alexander_z вне форума Ответить с цитированием
Старый 19.02.2013, 15:24   #2
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,762
По умолчанию

Писать самому времени нет. Вот тут есть Чтение 3-ей строки с конца файла
Думаю под себя не составит труда замостырить.
FaTaL вне форума Ответить с цитированием
Старый 19.02.2013, 16:34   #3
Alexander_z
 
Регистрация: 19.02.2013
Сообщений: 5
По умолчанию

походу температура берет своё...
чёт не получается у меня вытащить последние 10 значений...
Alexander_z вне форума Ответить с цитированием
Старый 19.02.2013, 16:54   #4
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,762
По умолчанию

Вот накидал на скорую руку
Код:
private void button1_Click(object sender, EventArgs e)
        {
            string[] readText = System.IO.File.ReadAllLines(@"D:\test.txt", Encoding.Default);
            for (int i = readText.Length - 10; i < readText.Length; i++)
            {
                textBox1.AppendText(@readText[i] + "\n");    
            }
        }
FaTaL вне форума Ответить с цитированием
Старый 19.02.2013, 23:11   #5
Демон
Пользователь
 
Регистрация: 12.11.2008
Сообщений: 17
По умолчанию

Читать избранные строки с конца файла не получится, не считывая весь файл. Ну то есть получится, но оно того не стоит (считывание с конца, точное позиционирование по байту, перевод это в юникод - это навскидку)
Если позволяет алгоритм, можно последние 10 строчек держать в памяти, хранить их в каком-нибудь Queue. Push, если 11 элементов, то Pop
Демон вне форума Ответить с цитированием
Старый 20.02.2013, 09:17   #6
Alexander_z
 
Регистрация: 19.02.2013
Сообщений: 5
По умолчанию

Ну я читаю весь файл, деля его на 2 части, т.к. первую часть мне надо вывести в мэинменю,а вторую это гуид мне нужен для обращения в базу чтоб потом открыть его,я всёравно не допру как мне из лога выбирать только последние 10 строк...
Alexander_z вне форума Ответить с цитированием
Старый 20.02.2013, 13:07   #7
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,762
По умолчанию

Цитата:
Сообщение от Alexander_z Посмотреть сообщение
Ну я читаю весь файл, деля его на 2 части, т.к. первую часть мне надо вывести в мэинменю,а вторую это гуид мне нужен для обращения в базу чтоб потом открыть его,я всёравно не допру как мне из лога выбирать только последние 10 строк...
Написал же выше код. Последние 10 строк как раз он и выдёргивает.
FaTaL вне форума Ответить с цитированием
Старый 20.02.2013, 14:10   #8
Alexander_z
 
Регистрация: 19.02.2013
Сообщений: 5
По умолчанию

var bases = new List<string>();
var paths = new List<string>();
File.ReadAllLines(@"c:\Log_10Pin.tx t").ToList().ForEach(s =>
{
var arr = s.Split('|');
bases.Add(arr[0]);
paths.Add(arr[1]);
});
Смотрите, у меня в bases и paths читается весь лог с делением.Вот а как мне получается у них взять 10 строк последних?
Alexander_z вне форума Ответить с цитированием
Старый 21.02.2013, 09:34   #9
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,762
По умолчанию

Alexander_z, ты вообще мои сообщения не видишь что ли? Я же тебе всё написал выше.
FaTaL вне форума Ответить с цитированием
Старый 21.02.2013, 10:46   #10
Alexander_z
 
Регистрация: 19.02.2013
Сообщений: 5
По умолчанию

тупонул...всё сделал.Спасибо!
Alexander_z вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести сумму строк Евгений_Магистр Общие вопросы Delphi 14 24.04.2012 02:47
как вывести на печать группами строк Ant75 Microsoft Office Excel 4 30.03.2012 17:35
С++ Вывести первые символы строк массива vampir3001 Помощь студентам 0 28.02.2012 20:22
как вывести необходимое кол-во строк sersh1 Microsoft Office Excel 1 30.09.2011 09:08
Объединенные строки, целостность последних строк при печати/просмотри Hammerok Microsoft Office Excel 1 01.11.2007 20:59