|
v7: Записать ну ооочень большой текстовый файл. по-строчно. |
☑ |
0
Cthulhu
15.08.16
✎
18:18
|
Где-то пробегало, причем давно и было не нужно, но вот поди ж ты - как понадобилось - так и не найти. :(
Кто-нибудь в курсе как реализовать %subj% с использованием системных библиотек?.. пните в нужном направлении пожалуйста.
заранееблагодаренивсётакоэ
|
|
1
Cthulhu
15.08.16
✎
18:19
|
(А, да, кому не видна секция - это v.7.7)
|
|
2
пипец
15.08.16
✎
18:22
|
в7плюс длл не катит ?
|
|
3
Boroda
15.08.16
✎
18:29
|
Я пользуюсь вот этим:
ФайловыйОбъект = СоздатьОбъект("Scripting.FileSystemObject");
ЛогФайл = ФайловыйОбъект.OpenTextFile(ПутьЛог+"\Logging.log", 8, 1); // пар2:1-чтение, 2 -запись; 8- добавить
ЛогФайл.WriteLine(СтрокаДанных);
ЛогФайл.WriteBlankLines(1);
ЛогФайл.Close();
|
|
4
Cthulhu
15.08.16
✎
18:34
|
(2): к сожалению, нет.
(3): спасибо, буду пробовать. на всякий случай - вопрос: оно действительно по-строчно (как выглядит синтаксис) порции скибывает, не забивая мозги совокупным содержимым, м.б. ты проверял (ну чем будда не шутит)?
другие решения?..
|
|
5
Garykom
гуру
15.08.16
✎
19:01
|
(4) очень большой это терабайты?
|
|
6
Злопчинский
15.08.16
✎
19:02
|
ИмяФайлаВывода = "тутполныйпуть"+".txt";
Т = глFSO.CreateTextFile(ИмяФайлаВывода, -1, 0); //создать файл, перезаписывая существующий.
стр = "всякое";
Т.WriteLine(стр);
Т.Close();
работает на порядок как минимум быстрее штатного 1Сного вывода в файл
|
|
7
HawkEye
15.08.16
✎
19:40
|
(6) осталось узнать, что же такое глФСО ))
|
|
8
Garykom
гуру
15.08.16
✎
20:14
|
(7) глФСО = СоздатьОбъект("Scripting.FileSystemObject"); из (3)
|
|
9
Это_mike
15.08.16
✎
20:33
|
(4) есть еще компонента - файлер, но она излишня...
|
|
10
Garykom
гуру
15.08.16
✎
20:37
|
А почему никто не предложил через КомандаСистемы("Echo text>>""C:\test.txt""") ?
|
|
11
trad
15.08.16
✎
22:26
|
Если есть 1спп на борту, то BinaryData
|
|
12
Злопчинский
15.08.16
✎
23:56
|
(10) долго будет
|
|
13
ADirks
16.08.16
✎
08:18
|
(4) второй параметр 8 в OpenTextFile() как раз и говорит о том, что надо в конец файла дописывать. Ну и я бы написал немного не так:
OpenTextFile(filename, 8, -1, 0);
п.3 -1 - создавать файл, если его нет
п.4 0 - кодировка ASCII
Скорость записи от объема файла практически не зависит.
У нас тут тоже логи таким способом пишутся.
|
|
14
Cthulhu
16.08.16
✎
09:29
|
(13): вот, спасибо за предельную ясность и полноту строго по вопросу (включая дележ практическим опытом).
и - огромное спасибо всем откликнувшимся.
|
|
15
trad
16.08.16
✎
10:35
|
если речь о большом количестве строк за раз, то имеет смысл подумать о BinaryData, т.к. он в 2 раза быстрее FSO.
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший