powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / VB.NET Начать читать файл из строки указанной мной
25 сообщений из 27, страница 1 из 2
VB.NET Начать читать файл из строки указанной мной
    #39833626
shoh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начать читать файл из строки указанной мной
Например файл имеет 10млн. строк и мне нужно читать только строки начиная с 8млн. до 10млн.
Как можно указать при чтение файла номер строки для старта чтении ?
...
Рейтинг: 0 / 0
VB.NET Начать читать файл из строки указанной мной
    #39833632
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем случае никак. Просто читать с начала, считать строки и обрабатывать нужные.

В текстовом файле строки переменной длины, поэтому невозможно перейти на строку с нужным номером.
...
Рейтинг: 0 / 0
VB.NET Начать читать файл из строки указанной мной
    #39833686
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TВ текстовом файле строки переменной длины, поэтому невозможно перейти на строку с нужным номером.

кто вам такое сказал? ничего не запрещает в текстовом файле использовать строки фиксированной длинны
автор тебе нужно найти в файле 8 млн переносов строк и начать чтения. Что тут сложного?
если файл большой и статический, возможно имеет смысл создать индекс строк
...
Рейтинг: 0 / 0
VB.NET Начать читать файл из строки указанной мной
    #39833689
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или грузануть в БД, если работа с файлом требуется постоянно
...
Рейтинг: 0 / 0
VB.NET Начать читать файл из строки указанной мной
    #39833701
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtesкто вам такое сказал? ничего не запрещает в текстовом файле использовать строки фиксированной длинны
Это не ко мне, а к ТС. Ему видней можно или нельзя, он не указал может ли он влиять на формирование этого файла.

Я писал:
Dima TВ общем случае ...
...
Рейтинг: 0 / 0
VB.NET Начать читать файл из строки указанной мной
    #39833708
shoh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Было бы отлично, если смог сразу импортировать в БД. Файл логов огромный и обновляется в онлайне.
...
Рейтинг: 0 / 0
VB.NET Начать читать файл из строки указанной мной
    #39833710
shoh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нашел решение

Dim LineNumber As Integer
LineNumber = 55555

Do Until LineNumber >= 64000

myLine = File.ReadAllLines("C:\Tmp\111.txt").ElementAt(LineNumber).ToString
LineNumber =LineNumber +1
loop
...
Рейтинг: 0 / 0
VB.NET Начать читать файл из строки указанной мной
    #39833712
shoh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shoh,

этот вариант медленновато конечно, но работает
...
Рейтинг: 0 / 0
VB.NET Начать читать файл из строки указанной мной
    #39833716
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shohshoh,

этот вариант медленновато конечно, но работает
Там в цикле каждый раз полное чтение файла происходит. Вынеси чтение до цикла
Код: vbnet
1.
2.
3.
4.
AllFile = File.ReadAllLines("C:\Tmp\111.txt")
Do ...
myLine = AllFile.ElementAt(LineNumber).ToString
...
...
Рейтинг: 0 / 0
VB.NET Начать читать файл из строки указанной мной
    #39833753
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторБыло бы отлично, если смог сразу импортировать в БД. Файл логов огромный и обновляется в онлайне.
сохраняй лог сразу в базе, в чем проблема? а так всё просто, берем лог файл и читаем его, можно открыть лог файл на чтения не блокируя запись в файл. И поток периодически проталкиваем в базу данных.
...
Рейтинг: 0 / 0
VB.NET Начать читать файл из строки указанной мной
    #39833837
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно собрать статистику по файлу и периодически обновлять ее.
Типа позиции каждой 1000 строки и т. д.
...
Рейтинг: 0 / 0
VB.NET Начать читать файл из строки указанной мной
    #39833850
Pavel55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в этой строке тип переменной

Dim LineNumber As Integer

лучше заменить на Long
...
Рейтинг: 0 / 0
VB.NET Начать читать файл из строки указанной мной
    #39833858
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima Tshohshoh,

этот вариант медленновато конечно, но работает
Там в цикле каждый раз полное чтение файла происходит. Вынеси чтение до цикла
Код: vbnet
1.
2.
3.
4.
AllFile = File.ReadAllLines("C:\Tmp\111.txt")
Do ...
myLine = AllFile.ElementAt(LineNumber).ToString
...

Оh, god.... Зачем выносить? Нафига тут вообще цикл, если есть Skip()?
...
Рейтинг: 0 / 0
VB.NET Начать читать файл из строки указанной мной
    #39833996
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Shocker.Proили грузануть в БД, если работа с файлом требуется постоянно
+1
...
Рейтинг: 0 / 0
VB.NET Начать читать файл из строки указанной мной
    #39833997
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
shohнашел решение

Dim LineNumber As Integer
LineNumber = 55555

Do Until LineNumber >= 64000

myLine = File.ReadAllLines("C:\Tmp\111.txt").ElementAt(LineNumber).ToString
LineNumber =LineNumber +1
loop
Очень плохое решение
...
Рейтинг: 0 / 0
VB.NET Начать читать файл из строки указанной мной
    #39834139
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опять изобретение велосипеда?
https://www.google.com/search?q=text log viewer windows
...
Рейтинг: 0 / 0
VB.NET Начать читать файл из строки указанной мной
    #39834327
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мля. Что, в очередной раз написали логгирование через джоппу System.IO ("его хватает, нахрен что-то еще в проект тянуть" (с)), а теперь не знаете что с этими миллионострочными файлами логов делать?
...
Рейтинг: 0 / 0
VB.NET Начать читать файл из строки указанной мной
    #39834338
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: powershell
1.
PS> Get-Content .\very-large.log | Select-Object -Skip 100500 -First 12
...
Рейтинг: 0 / 0
VB.NET Начать читать файл из строки указанной мной
    #39835306
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatМля. Что, в очередной раз написали логгирование через джоппу System.IO ("его хватает, нахрен что-то еще в проект тянуть" (с)), а теперь не знаете что с этими миллионострочными файлами логов делать?Плох не System.IO, а голова, которая не догадалась делать лог с разбитием на файлы по суткам или по объему.
...
Рейтинг: 0 / 0
VB.NET Начать читать файл из строки указанной мной
    #39835314
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,

логгер сам разбиение на файлы может сделать
...
Рейтинг: 0 / 0
VB.NET Начать читать файл из строки указанной мной
    #39835508
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть еще System.IO.Log
...
Рейтинг: 0 / 0
VB.NET Начать читать файл из строки указанной мной
    #39835665
iskatelsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В качестве извращения можно параллельно запустить программку, которая раз в минуту (полчаса, час) будет записывать лог вида "датавремя" - "размер файла" и уже основываясь на этой инфе искать нужный фрагмент.
...
Рейтинг: 0 / 0
VB.NET Начать читать файл из строки указанной мной
    #39836135
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
харе уже блин:

1. писать огромные логи гигабайтовых размеров, пора уже тяжёлым сапогом пинать по голове за такое -- логи нужно разбивать на небольшие файлы, которые можно прочесть в любом редакторе, использовать ротацию
2. вообще использовать текстовые логи как основное средство ведения журналов, есть ELK, Graylog, etc. -- на выходе нормальная работа с журналом без дебильных приплясываний с грепом, которые вызывают лишь жалость
...
Рейтинг: 0 / 0
VB.NET Начать читать файл из строки указанной мной
    #39836192
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

Мы уже сто лет как серилогом structure log в монгу пишем, еще и индексируем для поиска. Файло оно вообще уже как-то древность, только как временное логирование на время разработки.
...
Рейтинг: 0 / 0
VB.NET Начать читать файл из строки указанной мной
    #39836585
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,

Для клиентских приложений файло все еще архиактуально.
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / VB.NET Начать читать файл из строки указанной мной
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]