Прочитанный текстовый файл Js
Обновлено: 24.11.2024
В этой статье мы поговорим о том, как читать или записывать текст в файл с помощью JavaScript. Если вы разработчик JavaScript, вы знаете, что нельзя сохранить файл локально, так как это может создать серьезные проблемы с безопасностью.
JavaScript не имеет возможности доступа к файловой системе пользователя, поэтому мы должны запускать проект на сервере. Для этого мы будем использовать node.js, который поможет нам, поскольку мы можем использовать его встроенный модуль или библиотеку. Мы можем использовать это, чтобы предоставить пользователям ссылку для скачивания текстового файла
NodeJs предоставляет нам модуль или библиотеку, которая обрабатывает все, что связано с операциями записи в JavaScript. Он известен как «browserify-fs». Простыми словами можно сказать, что «browserify-fs» — это программа на JavaScript, где все функции написаны для операций записи.
Давайте установим browserify с помощью следующей команды:
После успешной установки импортируйте модуль browserify-fs в нужную программу. Теперь мы можем использовать различные функции для записи текстов или чтения текстов из файла.
Записать в файл
Давайте рассмотрим пример функции, которая создаст новый файл с указанным именем. Если файл с таким именем уже существует, все его данные будут стерты и перезаписаны.
Функция writeFile используется для записи операций в Node; как уже упоминалось, он принимает три разных параметра. Давайте рассмотрим их немного подробнее:
Путь: в основном это местоположение или относительный путь к текстовому файлу, в котором вы хотите создать или перезаписать файл. Мы также можем просто указать имя файла, и файл будет сгенерирован в той же папке, что и программа.
Данные: сюда помещаются данные, записанные в файл.
Функция обратного вызова: этот параметр очень полезен, так как, например, по какой-то причине операция не записала наши данные, тогда она сгенерирует ошибку и покажет нам ошибку. У него есть аргумент, в который мы можем передать строку ошибки или аргумент ошибки.
Демонстрация записи текста в файл::
Для записи текста в файл, во-первых, нам потребуется модуль «browserify-fs», который включает определение функции writeFile().
// Требуется browserify-fs, который включает функцию writefile()
const fs = require ('browserify-fs')
Позже давайте создадим переменную с именем данных, в которой у нас будут некоторые строковые данные, которые мы хотим сохранить в файле.
// простой текст для записи в файл
let data = "Здравствуйте и добро пожаловать на linuxhint.com"
Теперь откройте функцию writeFile, укажите ей имя файла вместе с данными, которые вы хотите сохранить в файле, и напишите функцию обратного вызова обработчика ошибок, как показано ниже:
// Запись данных в файл 'file.txt'
фс. writeFile('file.txt', данные, (ошибка) =>
// обработка ошибок с помощью throw
если (ошибка) бросить ошибку;
После завершения кода для записи некоторых данных в файл весь фрагмент кода будет выглядеть примерно так:
// Требуется browserify-fs, который включает функцию writefile()
const fs = require ('browserify-fs')
// простой текст для записи в файл
let data = "Здравствуйте и добро пожаловать на linuxhint.com"
// Запись данных в файл 'file.txt'
фс. writeFile('file.txt', данные, (ошибка) =>
// обработка ошибок с помощью throw
если (ошибка) бросить ошибку;
После того, как весь код будет написан, и когда вы выполните приведенный выше код, он создаст файл в браузере. Теперь давайте проверим это, прочитав тот же файл.
Читать файл
Теперь, когда мы записали в файл, давайте прочитаем из файла. Функция readFile() используется, когда мы хотим прочитать содержимое какого-либо файла.
Синтаксис:
Функция readFile() используется для операций чтения; он также принимает три параметра, как указано выше. Давайте рассмотрим их немного подробнее:
путь: как и в writeFile(), параметр пути readFile() также указывает местоположение файла. Предположим, что мы есть, и программа находится в том же файле, тогда нам нужно просто указать имя файла, а не путь, который мы хотим прочитать.
Параметры: необязательный параметр/аргумент, указывающий данные, которые должны быть прочитаны из текстового файла. Буфер по умолчанию используется, если аргумент не передан.
Функция обратного вызова: это функция, которая также имеет два разных аргумента. Этими аргументами являются ошибка и данные. Если операция не удалась при извлечении данных из файла, то ошибка показывает, в чем заключается ошибка, иначе, если операция выполнена успешно, то аргумент данных содержит данные из файла.
Демонстрация чтения текста из файла
Мы будем использовать недавно созданный файл файла «file.txt».
Для чтения текста из файла, во-первых, нам потребуется модуль «browserify-fs», который включает определение функции readFile().
// Требуется browserify-fs, который включает функцию readfile()
const fs = require ('browserify-fs')
Затем мы получим доступ к функции readFile(), предоставим ей имя файла, из которого вы хотите прочитать данные, и напишем функцию обратного вызова для обработки ошибок и отображения данных:
// Чтение данных из файла 'file.txt'
фс. readFile('file.txt', (ошибка, данные) =>
// обработка ошибок с помощью throw
если (ошибка) бросить ошибку;
// вывод извлеченных данных из файла на консоль
консоль. журнал (данные.toString()) ;
После завершения кода для чтения данных из файла весь фрагмент кода будет выглядеть примерно так:
// Требуется browserify-fs, который включает функцию readfile()
const fs = require ('browserify-fs')
// Чтение данных из файла 'file.txt'
фс. readFile('file.txt', (ошибка, данные) =>
// обработка ошибок с помощью throw
если (ошибка) бросить ошибку;
// вывод извлеченных данных из файла на консоль
консоль. журнал (данные.toString()) ;
После того, как весь код будет написан, и когда вы выполните приведенный выше код, он прочитает нужный файл из браузера и покажет все данные в консоли, как показано на приведенном ниже снимке экрана:
Вот как вы можете читать/записывать данные в файл с помощью модуля browserify-fs в javaScript.
Заключение
Запись или чтение файла на любом языке программирования является необходимостью, поскольку мы можем разрабатывать небольшие проекты, где нам не нужны большие базы данных. Затем мы используем файловые системы для чтения или записи данных в файл. В этой статье мы увидели, как читать или записывать текст в файл в JavaScript. Для решения нашей задачи мы использовали «browserify-fs».
Как выбрать файлы, читать метаданные и содержимое файлов, а также вероятно прогресс чтения.
Возможность выбора файлов, связанных с возникновением пользователей и в сочетании с ними — это одна из наиболее часто встречающихся функций Интернета. С помощью этой функции приложения могут выбирать файлы и загружать их на сервер, например, загружать фотографии или предоставлять налоговую отчетность и т. д. д. Кроме того, функция также позволяет сайтам читать файлы и управлять ими без потери передачи данных по сети.
Поскольку API доступа к файловой системе еще не совместим со всеми, обратите внимание на популяризацию браузера-fs-доступа, везде используется новый API, где это возможно, но возвращается к фиксированному использованию, если API недоступен.
В этом обнаружении, как:
Самый простой способ запуска пользователями собирать файлы — это использовать элемент, который нравится всем основным. После этого он может выбрать файл или несколько файлов, если включен один атрибут, используя встроенный в операционную систему пользовательский интерфейс выбора файлов. Когда пользователь завершает выбор файла или файлов, срабатывает изменение элемента события . Вы можете получить доступ к списку файлов из event.target.files , который представляет собой объект FileList . Каждый элемент в FileList является файлом удаления .
Верится, что метод window.showOpenFilePicker() является альтернативой для вашего использования, поскольку он также предоставляет дескриптор файла, чтобы вы могли записывать обратно в файл, а не читать. Для этого метода можно применить полизаполение.
В этом случае пользователь может с помощью встроенного в операционную систему пользовательского внешнего выбора файлов выбирать несколько файлов, которые затем используются в консоли.
В некоторых случаях вы можете захотеть ограничить типы файлов, которые могут быть выбраны пользователями. Например, приложение для получения должно получать только изображения, а не текстовые файлы. Для этого вы можете добавить элемент ввода, чтобы указать, какие файлы загружаются.
В некоторых браузерах элемент также является спасателем-приёмником, который позволяет пользователям перетаскивать файлы в приложение. Но объект-приёмник мал, поэтому это неудобно. Вместо этого, после предоставления базовой функциональности с помощью, представьте большую настраиваемую область перетаскивания.
Вероятно, является ли метод DataTransferItem.getAsFileSystemHandle() реальной альтернативой для вашего использования, поскольку он также дает дескриптор файла, чтобы вы могли записывать обратно в файл, вместо чтения.
Область объекта-приёмника зависит от дизайна вашего приложения. Вы можете захотеть, чтобы только часть окна была областью перетаскивания, или, возможно, всё окно.
В Squoosh всё открывается область перетаскивания.
Squoosh позволяет разрешить перетаскивание изображения в любом месте окна, а щелчок по выбору элемента управления изображением. Что бы вы ни выбрали в качестве объекта-приёмника, убедитесь, что это понятно, что он может перетаскивать файлы в эту область.
Чтобы включить элемент в действие перетаскивания, необходимо прослушать два события, перетаскивание и опускание . Событие dragover обновляет интерфейс, чтобы действие отображало, что действие перетаскивания создает файл. Событие drop запускается после того, как пользователь сворачивает файлы в области перетаскивания. Аналогично элементу ввода, вы можете получить доступ к списку файлов из event.dataTransfer.files, который представляет собой объект FileList. Каждый элемент в FileList является файлом удаления .
События event.stopPropagation() и event.preventDefault() останавливают поведение по умолчанию и вместо этого позволяют запускать ваш код. Без них ушел бы с вашей страницы и открыл файлы, которые пользователь поместил в окно.
К сожалению, сегодня нет хорошего хорошего доступа к каталогу.
Атрибут элемента webkitdirectory позволяет выбрать каталог или каталоги. Он рассуждает на основе Chromium и, возможно, настольной общенациональной Safari, но имеет противоречивые сведения о других языках.
Верится, что метод window.showDirectoryPicker() является альтернативой для вашего использования, поскольку он также дает дескриптор каталога, чтобы вы могли записывать обратно в каталог, а не читать. Для этого метода можно применить полизаполнение.
Если перетаскивание заключено, пользователь может перетащить каталог в область перетаскивания. Когда это произойдет, оно будет отображаться в файле для каталога, но не сможет получить доступ к одному из файлов в каталоге.
Файл объекта содержит ряд свойств метаданных о файле. В большинстве случаев требуется имя файла, размер файла и тип MIME, хотя в зависимости от платформы может использоваться различная или дополнительная информация.
Вы можете увидеть это в действии в облаках Глюк файла ввода-типа .
Чтобы прочитать файл, використовуйте объект FileReader, который позволяет читать содержимое файла в памяти. Вы можете указать для объекта FileReader методы чтения, файлы ArrayBuffer, dataURL или текст.
В обнаруженном выше обнаружении считывается предоставленный пользователем файл, затем он преобразуется в URL-адрес данных, который используется для отображения изображения в элементе img . обнаружение с обнаружением на Glitch read-image-file, чтобы узнать, как проверить, выбрал ли пользователь файл изображения.
При чтении больших файлов будет массово загружен интерфейс UX, показывающий насколько далеко продвинулось чтение. Для этого события використовуйте прогресс , панорамое FileReader . Событие progress дает два свойства: количество прочитанного загруженного и общий объем чтения всего .
В этом уроке я расскажу вам, как читать текстовый файл и писать в него с помощью JavaScript. Как мы знаем, JavaScript не имеет возможности доступа к файловой системе пользователя, поэтому для этого нам нужно запустить проект на сервере. Для этого мы используем node.js.
В node.js это одна библиотека fs (файловая система), которая используется для управления всеми операциями чтения и записи. Используя модуль fs, мы можем читать и записывать файлы как синхронно, так и асинхронно.
Существует множество способов чтения и записи данных в файл. Давайте рассмотрим каждый из них один за другим.
JavaScript Чтение и запись в текстовый файл
Способ 1. Использование Node.js
Во-первых, с помощью методов writefile и readFile в среде node.js.
записать файл:
Это используется для записи содержимого в файл. Его синтаксис ниже:
У него три параметра: путь, данные, обратный вызов.
Путь: путь — это расположение текстового файла. Если файл должен быть сгенерирован в той же папке, что и программа, укажите только имя файла. Если файл не существует, новый файл будет создан автоматически.
Данные: во-вторых, это данные. В этом параметре нам нужно передать информацию, необходимую для записи в файл.
Обратный вызов: последний — это функция обратного вызова, в которой мы передаем строку ошибки. Если операции не удается записать данные, ошибка указывает на ошибку.
index.js
Чтобы запустить приведенный выше код, выполните следующую команду:
>узел index.js
чтение файла:
Используется для чтения содержимого файла. его синтаксис:
У него также есть три параметра: путь, обратный вызов, параметры.
путь — это расположение текстового файла. Если и файл, и программа находятся в одной папке, то сразу укажите имя файла текстового файла.
Второй параметр, указывающий, что данные должны быть собраны из файла, является необязательным. Если вы ничего не передаете, он возвращает необработанный буфер.
Последняя функция обратного вызова имеет еще два параметра (ошибка, txtString). Если в какой-то момент ему не удается загрузить или прочитать файл, он возвращает ошибку или исключение, в противном случае он возвращает все данные файла.
index.js
Чтобы запустить эту программу, введите следующую команду:
>узел index.js
Способ 2. Использование ActiveXObject
Другой метод заключается в использовании объектов ActiveX веб-страницы, но этот метод в основном работает только в Internet Explorer.
Этот ActiveXObject используется для возврата экземпляра библиотеки файловой системы, которая используется с методом CreateTextFile. Этот метод JS, который генерирует функции, определенные файлом, и устанавливает объект TextStream для чтения или записи в файл. Он также возвращает логическое значение, на основе которого мы можем узнать, можем ли мы перезаписать текущий файл или нет. Итак, если вы хотите добавить данные в созданный файл, вы можете использовать метод writeline, который используется для добавления текстовой строки в файл.
При использовании объектов ActiveX для чтения файла в код необходимо включить следующее:
Объект ActiveX содержит три элемента: имя библиотеки, имя класса и расположение. Итак, имя класса — это экземпляр класса, который необходимо создать. имя библиотеки является обязательным полем и является признаком приложения, передающего объект.
В этой главе мы научим вас открывать, читать и закрывать файл на сервере.
Открыть файл PHP — fopen()
Лучше открывать файлы с помощью функции fopen(). Эта функция предоставляет больше возможностей, чем функция readfile().
Во время уроков мы будем использовать текстовый файл "webdictionary.txt":
AJAX = асинхронный JavaScript и XML
CSS = каскадные таблицы стилей
HTML = язык разметки гипертекста
PHP = препроцессор гипертекста PHP
SQL = язык структурированных запросов
SVG = масштабируемая векторная графика
XML = расширяемый язык разметки
Первый параметр fopen() содержит имя открываемого файла, а второй параметр указывает, в каком режиме следует открывать файл. В следующем примере также генерируется сообщение, если функция fopen() не может открыть указанный файл:
Пример
Совет: функции fread() и fclose() будут описаны ниже.
Файл можно открыть в одном из следующих режимов:
Режимы | Описание |
---|---|
r | Открыть файл только для чтения. Указатель файла начинается с начала файла |
w | Открыть файл только для записи. Удаляет содержимое файла или создает новый файл, если он не существует. Указатель файла начинается с начала файла |
a | Открыть файл только для записи. Существующие данные в файле сохраняются. Указатель файла начинается в конце файла. Создает новый файл, если файл не существует |
x | Создает новый файл только для записи. Возвращает FALSE и ошибку, если файл уже существует |
r+ | Открыть файл для чтения/записи. Указатель файла начинается с начала файла |
w+ | Открыть файл для чтения/записи. Удаляет содержимое файла или создает новый файл, если он не существует. Указатель файла начинается с начала файла |
a+ | Открыть файл для чтения/записи. Существующие данные в файле сохраняются. Указатель файла начинается в конце файла. Создает новый файл, если файл не существует |
x+ | Создает новый файл для чтения/записи. Возвращает FALSE и ошибку, если файл уже существует |
Чтение файла PHP — fread()
Функция fread() читает данные из открытого файла.
Первый параметр fread() содержит имя файла для чтения, а второй параметр указывает максимальное количество байтов для чтения.
Следующий код PHP считывает файл "webdictionary.txt" до конца:
Закрыть файл PHP — fclose()
Функция fclose() используется для закрытия открытого файла.
Хорошей практикой программирования является закрытие всех файлов после завершения работы с ними.Вы же не хотите, чтобы открытый файл работал на вашем сервере и отнимал ресурсы!
Для функции fclose() требуется имя файла (или переменная, содержащая имя файла), который мы хотим закрыть:
Чтение одной строки в PHP — fgets()
Функция fgets() используется для чтения одной строки из файла.
В приведенном ниже примере выводится первая строка файла "webdictionary.txt":
Пример
Примечание. После вызова функции fgets() указатель файла переместился на следующую строку.
Проверка PHP на конец файла — feof()
Функция feof() проверяет, достигнут ли "конец файла" (EOF).
Функция feof() полезна для циклического просмотра данных неизвестной длины.
В приведенном ниже примере файл "webdictionary.txt" считывается построчно, пока не будет достигнут конец файла:
Пример
Чтение одного символа в PHP — fgetc()
Функция fgetc() используется для чтения одного символа из файла.
В приведенном ниже примере файл "webdictionary.txt" считывается посимвольно, пока не будет достигнут конец файла:
Пример
Примечание. После вызова функции fgetc() указатель файла перемещается на следующий символ.
Полный справочник по файловой системе PHP
Полный справочник по функциям файловой системы см. в нашем полном справочнике по файловой системе PHP.
Читайте также: