Ответы об IT

Ответы об IT

» » Текстовые файлы. Текстовый файл Функции при работе с файловыми переменными

Текстовые файлы. Текстовый файл Функции при работе с файловыми переменными

Формат TXT является самым распространенным форматом хранения и передачи текстовых данных после . TXT файл может представлять собой форматированный/неформатированный блок текстовой информации, реализованный в виде последовательности строк.

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

В ОС Windows файл TXT носит название “Документ текстовый ”. Если TXT файл находится в пакете устанавливаемого ПО, то он будет иметь имя “Readme ” (в подавляющем большинстве случаев).

TXT - самый элементарный формат представления текстовых данных, но он положен в основу более специализированных расширений, таких как , и .

Текстовый документ TXT может поддерживать редактирование не только на ПК с различными ОС (Windows, Mac, Linux), но и на мобильных устройствах iPhone и iPad в системе Android. Также, электронные книги Txt поддерживаются на мобильных платформах.

Программы для открытия TXT файлов

Тxt программа для большинства пользователей ОС Windows - традиционный “Блокнот ” или стандартные средства Microsoft Office (MS Word).

Весьма примечательно, что работа с расширением TXT реализована на большинстве интернет-браузеров (Internet Explorer , Opera и др). Среди других распространенных приложений(для которых предварительно требуется скачать Txt документ), поддерживающих создание/открытие/редактирование файлов, можно выделить:

  • Staroffice (ОС Windows);
  • Geany (ОС Windows);
  • (ОС Windows);
  • Apple textedit (ОС Mac);
  • Calibre (ОС Mac);
  • Planamesa neooffice (ОС Mac);
  • gedit (ОС Linux);
  • Kwrite (ОС Linux).

Для отображения текстовой информации на экране iPhone, iPad или других мобильных устройств может быть использована одна из программ Kingsoft office for Android или Officesuite viewer .

Как конвертировать TXT в другие форматы

  • TXT -> ASCII (рекомендуемое ПО - Microsoft windows notepad);
  • TXT -> ASC, TXT -> AWW (рекомендуемое ПО - Ability write);
  • TXT -> CBR (рекомендуемое ПО - Free online file conversion);
  • TXT -> DOC, TXT -> DOCX, TXT -> ODT, TXT -> PDF, TXT -> RTF (рекомендуемое ПО - );
  • TXT -> EPUB, TXT -> SNB (рекомендуемое ПО - Calibre);
  • TXT -> LWP (рекомендуемое ПО - Ability write).

Данное ПО поддерживает свою работу на базе ОС Windows.

Почему именно TXT и в чем его достоинства?

Можно сказать, что расширение TXT - один из самых универсальных форматов хранения и передачи текстовой информации. TXT файлы прекрасно адаптированы под самые разнообразные текстовые редакторы, включая внутренние приложения ОС.

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

Преимущества и недостатки

Преимущества:

  • Универсальность - текстовый файл может быть прочитан (так или иначе) на любой системе или ОС , особенно если речь идёт об однобайтных кодировках вроде ASCII , которые не подвержены проблеме, характерной для других форматов файлов - для них не важна разница в порядке байтов или длине машинного слова на разных платформах .
  • Устойчивость - каждое слово и символ в таком файле самодостаточны и, если случится повреждение байтов в таком файле, то обычно можно восстановить данные или продолжить обработку остального содержимого, в то время как у сжатых или двоичных файлов повреждение нескольких байтов может сделать файл совершенно невосстановимым. Многие системы управления версиями рассчитаны на текстовые файлы и с двоичными файлами могут работать только как с единым целым.
  • Формат текстового файла крайне прост и его можно изменять текстовым редактором - программой, входящей в комплект практически любой ОС .

Недостатки:

  • У больших несжатых текстовых файлов низкая информационная энтропия - эти файлы занимают больше места, нежели минимально необходимо. Хотя эта избыточность и определяет повышенную устойчивость к сбоям в каналах передачи данных и при получении данных с носителей , например, с магнитной ленты .
  • Некоторые операции с текстовыми файлами неэффективны. Например, если в файле встретится число, вычислительная система до начала операций с ним должна будет перевести его в свой внутренний формат, применив сравнительно сложную процедуру конвертации числа; чтобы перейти на 1000-ю строку, требуется считать 999 строк, идущих до неё; сложно заменить одну строку другой и т. д. Поэтому при работе с большими объёмами данных текстовые файлы применяют только как промежуточный формат, обеспечивающий интероперабельность .

Форматы, основанные на текстовых файлах

В силу своей простоты текстовые файлы нередко используются для хранения служебной информации (например, логов): так как операция добавления в конец текстового файла новых данных не требует сколь-нибудь значительных вычислительных ресурсов независимо от уже имеющегося объёма файла и вида добавляемых текстовых данных, ведение текстовых лог-файлов обычно происходит эффективно и незаметно для пользователя и для других приложений (вплоть до исчерпания дискового пространства).

Текстовый формат служит основой для многих более специализированных форматов (например, .ini , SGML , HTML , XML , TeX , исходных текстов языков программирования). В некоторых из таких форматов определённые сочетания символов могут использоваться как средства разметки текста. В таком случае файл может хранить форматированный текст, в котором для символов дополнительно может быть задан шрифт, начертание, размер и т. п. (например, Rich Text Format , HTML).

Расширения имён файлов

В DOS и Windows для файлов с неформатированным текстом обычно используется расширение .txt . Тем не менее, текстовыми могут являться файлы с любым другим расширением или без оного. Например, исходные коды программ обычно хранятся в файлах с расширениями, соответствующими языку программирования , на котором написаны программы (.bas , .pas , .c).

Форматированный текст (текст с разметкой) обычно хранится в файлах с расширением, соответствующим формату или языку разметки - .rtf , .htm , .html .

Кодировки

8-битный текст

Исторически для кодирования текстовых файлов применялись 7-битный набор символов ASCII , а также 8-битные EBCDIC и различные расширения ASCII. В 8-битных кодовых страницах общепринято использовать в первой половине кодовой таблицы символы, соответствующие ASCII.

Преимуществом 8-битного представления текста является программная простота и независимость от проблемы порядка байтов или длины машинного слова на разных платформах. Недостаток - большое количество различных стандартов, что может приводить к несовместимости .). Иногда в начало файла добавляют специальный символ-маркер (U+FEFF

Такой разнобой продиктован принципами работы пишущих машинок: чтобы перейти на новую строку, надо вернуть каретку в начало строки (carriage return ), а затем провернуть барабан на одну строку (line feed ). При печати на принтере тот и другой символ мог стоять обособленно (например, чтобы выделить строку, пропечатав её дважды, или прокрутить барабан на несколько строк), но в текстовых файлах в этом нет нужды.

Помимо названных, в текстовых файлах встречаются такие символы, как табуляция (код 9) и перевод страницы (код 0xC). Последний использовался старыми текстовыми редакторами наподобие ЛЕКСИКОН , а также в файлах, предназначенных для распечатки на принтере.

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

Расширение текстового файла: что это такое?

Начнем с того, что, как правило, большинство файлов такого типа имеют расширение в виде трех литер после разделителя (точки). Самый простой и наиболее часто встречающийся тип - это файлы с расширением.txt, открываемые в тех же системах Windows при помощи стандартного «Блокнота».

Однако, несмотря на общепринятые правила, расширения файлов текстовых документов могут содержать не три литеры, а больше (их число может достигать двенадцати, но не больше), например, файлы электронных книг.djvu. Кроме того, в расширении могут присутствовать цифры.

Что дает нам рассмотрение классификации текстового файла (документа) в плане их идентификации? А то, что один взгляд позволяет моментально решить важный вопрос: какое расширение имеют текстовые файлы, такова и программа, сопоставленная им для открытия или редактирования. Тут же во многих случаях почти всегда можно определить изначальное приложение, в котором такой файл был создан.

Однако не стоит забывать, что сегодня можно встретить достаточно большое число файлов с одинаковыми расширениями, но созданные в других приложениях или сопоставленные разным программам. Казалось бы, обычный файл с расширением.doc (.docx) изначально соответствует текстовому редактору Microsoft Word. Но ведь открыть его или сохранить в таком виде можно и в другом даже на «яблочных» компьютерах. Сюда же можно отнести и, так сказать, смешанный тип - файлы формата.pdf, содержащие уже не только текст, но и графику. Но ведь и документы Word могут содержать вставленные изображения.

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

Типы расширения файлов: текстовые

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

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

Что же касается разновидностей текстовых файлов, их все и не перечислишь. Наиболее распространенными являются следующие: .txt, .doc, .tex, .text, .pdf, .log, .apt, .ttf, .err, .sub, .djvu, .odt, .rtf и многие другие. Этот список можно продолжать до бесконечности.

Что самое интересное, многим файлам такого типа в системе отводится разная роль. К примеру, кроме обычного файла субтитров.sub, за их просмотр при открытии видео может отвечать обычный текстовый документ.txt, и в этом отношении многие форматы взаимозаменяемы.

Заметьте, даже исполняемые файлы могут иметь текст в качестве содержимого. Простейший пример - файл.bat, создаваемый в обычном «Блокноте» и содержащий текст в виде набора команд. При запуске происходит выполнение команд, а для редактирования используется меню «Открыть с помощью…», если изначально этому процессу не сопоставлено другое действие.

Подобная ситуация наблюдается и с документами, использующими разметку или языки программирования, скажем, файлы.html, .htm, .xml и т.д. Даже веб-страницы можно во многих редакторах открыть изначально как текстовые файлы, содержащие сторонние элементы.

Изменение расширений текстовых файлов

Что касается изменения расширения, иногда его можно поменять, например, .txt в.doc и обратно. Редактор Word откроет любой тип. То же самое относится к паре.txt - .bat при открытии в «Блокноте». Но в других случаях лучше такие манипуляции не производить, это попросту ни к чему не приведет, и другое приложение переименованный файл открыть не сможет. Изменение формата придется производить при помощи специальных программ-конверторов.

Вместо послесловия

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

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

Как правило, форматы файлов создаются для использования в строго определенной прикладной программе. Например, графические объекты, создаваемые в известном пакете векторной графики CorelDRAW, сохраняются как файлы с расширением CDR, а изображения, формируемые другим графическим пакетом, CorelXara, записываются на диск как файлы с расширением XAR. Некоторые форматы не связываются с конкретными приложениями, то есть являются универсальными. Одним из наиболее известных универсальных форматов является формат TXT (формат текстовых файлов DOS).

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

Что касается алгоритмов сжатия, то имеются как алгоритмы сжатия без потери данных, так и алгоритмы, при использовании которых потеря данных возможна.

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

Дадим краткое описание основных используемых форматов:

§ American Standard Code for Information Interchange ASCII (TXT). Формат текстовых файлов, разработанный Американским институтом стандартов (American National Standards Institute). Поддерживается всеми операционными системами и всеми программами. Представляет собой текстовый файл в DOS-кодировке, нет функции вставить рисунок, нет форматирования, работает во всех машинах, возможно создать только файлы малого объема.



§ ANSI (TXT). Формат текстовых файлов в кодировке ANSI (для кодовой страницы Microsoft Windows)

§ MsWord для DOS, Windows (.DOС). Формат документов, разработанный корпорацией Microsoft, поддерживается программами для MS-DOS и большинством текстовых процессоров. Он сохраняет исходное форматирование документов, а также стили начертания символов. Кроме текстовой информации, файлы этого формата могут содержать графические картинки с различными параметрами. Поддерживает 256 цветов. Не поддерживает сжатие. Используется в основном для обмена форматированными текстовыми данными между различными платформами и приложениями.

§ Hypertext Markup Language HTML (HTM, HTML). Язык разметки гипертекстовых документов. Все страницы, расположенные в Internet, созданы с использованием этого специального языка. HTML-документы представляют собой ASCII-файлы, доступные для просмотра и редактирования в любом текстовом редакторе. Отличием от обычного текстового файла является то, что в HTML-документах присутствуют специальные команды-теги, которые определяют правило форматирования документа. Если вам удалось освоить язык HTML, то вы можете создать страницы для Internet. Добавляя теги (метки) к обычному тексту, вы заставляете программу просмотра отображать этот текст определенным образом и размещать на странице изображения. Если вы изучили Java и JavaScript, то знаете, как расширить возможности HTML, помещая внутри тегов команды, написанные на языке сценариев.

§ Portable Document Format PDF (.PDF). Этот формат хранения документов, разработанный фирмой Adobe, претендует на роль открытого типографского стандарта для Web. Он рассматривается как альтернатива HTML. Недостатком HTML является то, что документы, переведенные в HTML, обычно не сохраняют первоначальный формат, причем HTML предлагает при просмотре очень ограниченное число гарнитур. Напротив, пользователи программы Acrobat и PDF-инструментария для создания, распространения и просмотра документов в первоначальном формате, знают, что читатели увидят публикацию именно такой, какой она была сделана. Формат PDF незаменим, если требуется получить точную копию необходимого документа. Как пример успешного применения PDF для документов на русском языке приведем сервер "Московских новостей" в Internet. Представленные на нем в электронном виде материалы полностью повторяют бумажный оригинал, отпечатанный типографским способом.

§ Standard Generalized Markup Language (SGML). Развитие HTML переводится как стандартный язык обобщенной разметки. Представляет собой инструментальный набор механизмов создания структурированных документов, размеченных с помощью дескрипторов (tags). По сравнению с HTML он обеспечивает более гибкие и разносторонние возможности форматирования в Web. Однако SGML отличается и повышенной скоростью, поэтому как более простое средство применяется PDF. Могущество SGML заключается в его межплатформенном структурном подходе к описанию содержания документов. SGML является фактически метаязыком, т.е. предназначен для описания языков разметки, применяемых при создании документов.

Текстовые файлы состоят из символьных строк. Строки могут иметь различную длину, и в конце каждой строки стоит признак конца строки. Для описания текстовых файлов используется служебное слово Text:

Var A: Text;

Для обработки текстовых файлов используются те же процедуры и функции, что и для обработки обычных типизированных файлов. Для связывания файловой переменной с файлом на диске употребляется процедура Assign. Текстовые файлы могут быть открыть для чтения процедурой Reset или для записи процедурой Rewrite.

Для чтения данных применяется процедура Read. Если необходимо после чтения данных перейти на следующую строку, то используется процедура Readln. Если необходимо просто перейти к следующей строке, то можно использовать процедуру Readln(<>); которая устанавливает файловый указатель на первый элемент следующей строки.

Процедура Write записывает данные в текущую строку. Если надо записать данные и перейти к следующей строке, то можно использовать процедуру Writeln. Если требуется только перейти для записи на новую строку, то применяется процедура Writeln(<имя файловой переменной текстового файла>); которая записывает в файл признак конца строки и устанавливает файловый указатель на начало следующей строки.

Так как в строках может быть разное количество символов, имеется логическая функция Eoln(< имя файловой переменной текстового файла>) , которая принимает значение True, если достигнут конец строки.

Процедура Append(< имя файловой переменной текстового файла>). Она открывает файл для «дозаписи», помещая файловый указатель в конец файла.

Пример: Дан текстовый файл, содержащий только целые числа, в каждой строке может быть несколько чисел, которые разделяются пробелами. Вывести на экран все числа с учетом разбиения на строки и подсчитать количество элементов в каждой строке.

Решение: Пусть в файле содержится следующая информация:

4 5 9 13 11 -5 -8

Этот файл можно создать в среде Турбо Паскаль следующим образом:

* создайте новый файл посредством команды New меню File;

* запишите все числа, разделяя их пробелами, и разбейте на строки, как указано в задании;

* сохраните файл, например, под именем INT1.DAT

* теперь напишем программу

program rrr;

var f: text;

Assign(f,’int1.dat’);

While Not Eof(f) do {пока не достигнут конец файла}

While Not Eoln(f) do {пока не достигнут конец строки}

read(f,x); {считываем очередное число}

write(x,’ ‘); {выводим его на экран}


Inc(k); {увеличиваем счетчик}

writeln(‘в строке’, k, ‘ элементов’);

Readln(f) {переходим к следующей строке файла}

Пример. Записать двумерный массив вещественных чисел 5х4 в тестовый файл.

Program mas;

const m=5; n=4;

Var fil: text;

Assign(fil,’massiv.txt’);

for i:=1 to m do

for j:=1 to n do

write(fil,a:5:3,’ ‘); {число записывается в файл в указанном формате, за ним пробел}

writeln(fil); {переход в файле на новую строку}

{Чтение файла и вывод матрицы на экран по строкам}

Reset(fil); {открытие уже имеющегося файла}

while not Eof(fil) do

while not Eoln(fil) do

read(fil,a); {чтение числа}

read(fil,s); { чтение пробела после числа}

Пример. Дан текстовый файл f. Переписать в файл g все компоненты исходного файла f в обратном порядке.

program tofile;

var f, g: text;

n, i, j: integer;

x: array of char;

assign(f,’f.txt’); assign(g,’g.txt’);

rewrite(g); rewrite(f);

writeln(‘Введите число строк в создаваемом вами файле ‘);

writeln(‘вводите строки, после введения каждой нажмите Enter’);

for i:=1 to n do begin readln(s); write(f,s); end;

writeln(‘Исходный файл:’);

while(not eof(f)) and (i<32000) do

begin i:=i+1; read(f,x[i]); write(x[i]); end;

writeln(‘Измененный файл:’);

for j:=i downto 1 do

begin write(g,x[j]); write(x[j]); end;

close(f); close(g);

Задача. Дан текстовый файл. Вставить в начало каждой строки ее номер и записать преобразованные строки в новый файл.

Задача. Даны два текстовых файла. Записать в третий файл только те строки, которые есть и в первом, и во втором файлах.