Сохранить переменную в файл javascript

Шаг 2. Запись файлов с помощью writeFile()

В этом примере мы напишем две функции: первая будет создавать CSV-файл, а вторая – добавлять в него данные.

Вставим в файл следующий код:

const fs = require('fs').promises; async function openFile() < try < const csvHeaders = 'name,quantity,price' await fs.writeFile('groceries.csv', csvHeaders); >catch (error) < console.error(`Got an error trying to write to a file: $`); > > 

Сначала функция openFile() создает переменную csvHeaders , содержащую заголовки столбцов CSV-файла, а затем использует функцию fs.writeFile() для создания файла и записи в него данных. Первый аргумент – путь к файлу. Поскольку мы указали только имя, Node.js создаст файл в том же каталоге, в котором мы выполняем код. Второй аргумент – записываемые данные. Создадим еще одну функцию для добавления данных в конец файла:

const fs = require('fs').promises; async function openFile() < try < const csvHeaders = 'name,quantity,price' await fs.writeFile('groceries.csv', csvHeaders); >catch (error) < console.error(`Got an error trying to write to a file: $`); > > async function addGroceryItem(name, quantity, price) < try < const csvLine = `\n$,$,$` await fs.writeFile('groceries.csv', csvLine, < flag: 'a' >); > catch (error) < console.error(`Got an error trying to write to a file: $`); > > 

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

Читайте также:  Php class const list

Затем, как и в функции openFile() , используется метод writeFile() , но на этот раз есть третий аргумент: объект JavaScript c ключом flag и значением ‘a’ . Так мы сообщаем Node.js, что данные нужно добавить в конец файла. По умолчанию флаг имеет значение ‘w’ , при котором создается новый файл, если он не существует, иначе файл перезаписывается. Вы можете узнать больше о флагах файловой системы в документации Node.js .

Для завершения скрипта добавим в конец файла программы следующие строки:

В текущем каталоге будет создан новый файл groceries.csv .

Содержимое файла groceries.csv следующее:

name,quantity,price eggs,12,1.5 nutella,1,4 

Вызов openFile() создал новый файл и добавил заголовки столбцов. Последующие вызовы addGroceryItem() добавляют две строки с данными.

На этом шаге мы научимся удалять файлы с помощью функции unlink() модуля fs и напишем Node.js скрипт для удаления groceries.csv , созданного на предыдущем шаге. Создадим новый программный файл deleteFile.js :

Напишем в программном файле код, создающий асинхронную функцию deleteFile() , которая принимает путь к файлу в качестве аргумента и передает его функции fs.unlink() , чтобы та удалила файл из файловой системы:

const fs = require('fs').promises; async function deleteFile(filePath) < try < await fs.unlink(filePath); console.log(`Deleted $`); > catch (error) < console.error(`Got an error trying to delete the file: $`); > > deleteFile('groceries.csv'); 

Когда вы удаляете файл с помощью функции unlink() , он не отправляется в recycle.bin или корзину, а навсегда удаляется из файловой системы. Это действие необратимо.

Сохраняем файл и запускаем код:

На выходе получаем следующее:

Чтобы убедиться, что файла больше нет, используем команду ls :

ls deleteFile.js greetings.txt readFile.js writeFile.js 

Шаг 4. Перемещение файлов с помощью rename()

Напоследок рассмотрим функцию перемещения. Перед тем как начать, создадим папку test-data , в которую будем перемещать файл:

cp greetings.txt greetings-2.txt 

Откроем для редактирования программный файл:

Создадим функцию moveFile() , вызывающую rename() . В ней необходимо указать путь к местоположению исходного и целевого файлов.

const fs = require('fs').promises; async function moveFile(source, destination) < try < await fs.rename(source, destination); console.log(`Moved file from $to $`); > catch (error) < console.error(`Got an error trying to move the file: $`); > > moveFile('greetings-2.txt', 'test-data/salutations.txt'); 

Функция rename() может переместить файл в другую папку, переименовать файл в текущем каталоге или сделать и то, и другое одновременно, как в нашем коде.

В ответ получаем следующее:

Moved file from greetings-2.txt to test-data/salutations.txt 

Подтвердим успех операции:

ls deleteFile.js greetings.txt moveFile.js readFile.js test-data writeFile.js 

Заключение

Мы изучили функции управления файлами с помощью Node.js. Сначала загрузили содержимое файла функцией readFile() . Затем создали новый файл и добавили в него данные с помощью writeFile() , удалили файл с unlink() , а затем переместили и переименовали файл посредством rename() .

С помощью функций модуля fs разработчики могут контролировать использование файлов в программах Node.js. Кстати, у нас есть и другие полезные материалы по теме Node.js:

Источники

Источник

Как сохранить js массив в файл

Чтобы сохранить js массив в файл, нужно воспользоваться модулем для работы с файловой системой fs , который входит в стандартную библиотеку Node.js.

// импортируем модуль для работы с файловой системой import fs from 'fs'; // массив, который мы хотим сохранить в файл const array = [1, 2, false, 'hello world', ['nested array'],  1: 'nested object' >]; // для записи в файл воспользуемся синхронной функцией fs.writeFileSync() fs.writeFileSync('fileWithArray.txt', JSON.stringify(array), 'utf-8'); 

Первым параметром функция принимает путь до файла в виде строки (в кавычках), вторым — данные, которые хотим записать в файл, третьим — кодировку. Обратите внимание, что для записи мы преобразуем наш массив в JSON строку с помощью метода JSON.stringify() , это особенность работы fs.writeFileSync() с массивами.

После выполнения коды мы получим файл fileWithArray.txt , в котором будет сохранен наш массив:

Источник

Node.js для начинающих: основы работы с файлами

Сегодня мы поговорим о том, как работать с файловой системой средствами Node.js, рассмотрим базовые операции, выполняемые с файлами. К таким операциям относятся следующие:

  • Создание файла
  • Чтение файла
  • Запись данных в файл
  • Удаление файла
  • Переименование файла

Модуль fs

В Node.js имеется стандартный модуль, fs (сокращение от File System), дающий разработчику средства для работы с файловой системой. Импортировать его в проект можно так:

Методы этого модуля представлены в синхронной и асинхронной формах. Функции обратного вызова, передаваемые асинхронным методам, принимают в качестве первого параметра объект ошибки, а в качестве второго — данные, возвращённые при успешном выполнении операции. Рассмотрим пример:

Метод .readFile() , о котором мы ещё поговорим, предназначен для чтения файлов. В этом примере у функции обратного вызова есть два параметра — err и data . В первый параметр попадают ошибки, которые могут возникнуть при попытке чтения файла, во втором оказываются данные, полученные после успешного выполнения операции. Обратите внимание на то, что .readFile() — это асинхронный метод модуля fs . Его синхронная версия называется .readFileSync() . Похожий подход используется и для именования других методов модуля.

Создание нового файла

Здесь метод fs.open() используется для создания нового файла. В качестве первого аргумента он принимает имя файла. Его второй аргумент представляет собой флаг, указывающий системе на то, что именно мы хотим сделать с файлом. В данном случае это флаг w (сокращение от writing), который указывает на то, что мы хотим открыть файл для записи. Метод .open() может принимать различные флаги. Вот некоторые из них:

  1. r : открыть файл для чтения
  2. r+ : открыть файл для чтения и записи
  3. rs : открыть файл для чтения в синхронном режиме
  4. w : открыть файл для записи
  5. a : открыть файл для записи данных в конец файла
  6. a+ : открыть файл для чтения и для записи данных в конец файла
This is a test file. We're learning about Node.js File System. The End.

Запись данных в файл

Поговорим о том, как дописать что-нибудь в файл:

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

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

This is a test file. We're learning about Node.js File System. The End. This line is beyond the end.

Существует и другой способ записи данных в файл. Он подразумевает использование метода .writeFile() . Этот метод очень похож на .appendFile() , но у него есть одно важное отличие. Дело в том, что с помощью метода .appendFile() мы добавляем в файл новые данные после тех данных, которые в нём уже есть. А при использовании метода .writeFile() содержимое файла заменяется на новое. Испытаем этот метод:

После успешного выполнения операции в файле окажется следующий текст:

I'm the replacement you've been looking for.

Как видно, содержимое файла полностью заменено новым.

Чтение файла

Для чтения файлов модуль fs предоставляет метод .readFile() , пример использования которого мы уже видели. В качестве первого параметра он принимает имя файла, в качестве второго — кодировку. Третий параметр — функция обратного вызова. Попытаемся вывести в консоль содержимое файла testFile.txt с помощью этого метода:

Данные файла, выведенные в консоль

Теперь поговорим о переименовании файлов.

Переименование файла

Для переименования файлов используется метод .rename() :

Первый аргумент метода представляет собой имя существующего файла, второй — новое имя этого файла. После успешного вызова этого метода файл testFile.txt превращается в newTestFile.txt .

Удаление файла

Для удаления файлов используется метод .unlink() :

Успешный вызов этого метода приводит к удалению файла newTestFile.txt .

Итоги

В этом материале мы рассмотрели основы работы с файловой системой в среде Node.js. Если вы хотите более глубоко освоить эту тему — взгляните на этот материал из цикла публикаций по Node.js, почитайте документацию по модулю fs и постарайтесь испробовать на практике всё, о чём узнаете.

Уважаемые читатели! Используете ли вы для работы с файлами в Node.js стандартный модуль fs или что-то другое?

Источник

Как содержимое переменной записать в файл .txt?

Всем доброго времени суток. Создал простенькое расширение для браузера Google Chrome. Помогите, пожалуйста, одолеть задачу.

В папке расширения имеется файл manifest.json:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
{ "name": "Расширение", "description": "Простое расширение для браузера", "version": "1.0", "manifest_version": 2, "content_scripts": [ { "matches": [ "" ], "js": [ "content.js" ], "run_at": "document_end" } ], "permissions":["tabs", "pageCapture", "https://*/*", "http://*/*", ""] }

Ещё в папке с расширением существует пустой файл text.txt

Как содержимое переменной info записать в файл text.txt?

Добавлено через 14 минут
content.js:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
var info = 'Текст'; function save_content_to_file(content, filename) { var dlg = false; with(document){ ir=createElement('iframe'); ir.id='ifr'; ir.location='about.blank'; ir.style.display='none'; body.appendChild(ir); with(getElementById('ifr').contentWindow.document){ open("text/plain", "replace"); charset = "utf-8"; write(content); close(); document.charset = "utf-8"; dlg = execCommand('SaveAs', false, filename+'.txt'); } body.removeChild(ir); } return dlg; } save_content_to_file(info, "text.txt");

Источник

Оцените статью