Существует ли предел длины строки для текстовых файлов, созданных из Perl?

public static bool TryParse( string text, out int number ) { .. }

MethodInfo method = GetTryParseMethodInfo();
object[] parameters = new object[]{ "12345", null }
object result = method.Invoke( null, parameters );
bool blResult = (bool)result;
if ( blResult ) {
    int parsedNumber = (int)parameters[1];
}
7
задан brian d foy 21 September 2009 в 00:11
поделиться

6 ответов

Текстовые файлы такие же, как и любые другие файлы, а символ новой строки похож на любой другой символ, поэтому применяются только обычные ограничения размера файла (ограничение размера 4 Гб в старых файловых системах, файл должен умещаться на диске и т. Д. .)

У вас не возникнет никаких проблем с чтением и записью, если вы не читаете его построчно - тогда у вас может закончиться память или вы столкнетесь со своего рода переполнением буфера. Это может произойти в любом текстовом редакторе или программе обработки текста (например, sed или awk), потому что, в отличие от ядра ОС, в этих вопросах разделения строк

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

14
ответ дан 6 December 2019 в 06:50
поделиться

Единственное, о чем вам нужно беспокоиться, - это размер файла, который вы можете создать, и размер файла, который вы можете прочитать.

Компьютеры ничего не знают о строках , который представляет собой интерпретацию байтов в файле. Мы решаем, что существует некоторая последовательность символов, которая разграничивает конец строки, а затем говорим нашим программам извлекать материал из файла, пока он не достигнет этой последовательности. Для нас это строка.

Например, вы можете определить строку в текстовом файле так, чтобы она заканчивалась запятой:

 $/ = ',';

 while( <DATA> )
    {
    chomp;
    print "Line is: $_\n";
    }

 __DATA__
 a,b,c,d,e,f,g

Хотя похоже, что у меня есть одна строка в разделе __ DATA __ , это только потому, что мы привыкли к книгам. Компьютеры не читают книги. Вместо этого эта программа считает, что все, что находится между запятыми, - это строка:

Line is: a
Line is: b
Line is: c
Line is: d
Line is: e
Line is: f
Line is: g
4
ответ дан 6 December 2019 в 06:50
поделиться

Нет ограничений по размеру, кроме вашей файловой системы, которая, скорее всего, составляет 2 ТБ или около того.

3
ответ дан 6 December 2019 в 06:50
поделиться

Нет, такого ограничения нет, пока вы не достигнете каких-либо ограничений на размер файла.

3
ответ дан 6 December 2019 в 06:50
поделиться

Размер файла зависит от файловой системы вашей ОС. У инструментов нет предела для таких (по крайней мере, я еще никогда не видел ..)

-1
ответ дан 6 December 2019 в 06:50
поделиться

В некоторых старых системах Unix некоторые текстовые утилиты (например, объединение, сортировка и даже некоторые старые awk) имеют ограничение на максимальный размер строки. Думаю, это предел утилит, а не ОС. Насколько мне известно, утилиты GNU не имеют такого ограничения, и поэтому у Linux никогда не было такой проблемы.

1
ответ дан 6 December 2019 в 06:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: