The createWriter() function in p5.js is used to create a p5.PrintWriter object that can be used to write or print to various available streams.
Syntax:
createWriter( name, [extension] )
Parameters: This function accepts two parameters as mentioned above and described below.
- name: It is a string that denotes the name of the file to be created.
- extension: It is a string that specifies the extension of the file. It is an optional parameter.
Return Value: It returns a p5.PrintWriter object that denotes the writer.
The example below illustrates the createWriter() function in p5.js:
Example 1:
let fwriter;   function setup() {   createCanvas(600, 300);   textSize(18);     // Create a textarea for the input of text   inputArea = createElement( "textarea" );   inputArea.position(30, 50);   inputArea.size(300, 100);     // Create a button for saving text   saveBtn = createButton( "Save text" );   saveBtn.position(30, 160);   saveBtn.mousePressed(saveFile);     // Setup the writer   fwriter = createWriter( "note.txt" );     text( "Click on the button below to save the written text" , 20, 20); }   function saveFile() {   // Get the value of the textarea   // and split the strings on the basis   // of the nextline character   stringList = inputArea.value().split( "\n" );     // Save the strings to file   for (line of stringList) {     fwriter.print(line);   }     // Close the writer   fwriter.close();     // Clear the writer   fwriter.clear(); } |
Output:
Example 2:
function setup() {   createCanvas(600, 300);   textSize(18);     // Create two inputs for the   // multiplication table   multiOf = createInput();   multiOf.position(250, 50);   multiOf.size(50);     multiTo = createInput();   multiTo.position(250, 80);   multiTo.size(50);     // Create a button for saving text   saveBtn = createButton( "Generate and save to file" );   saveBtn.position(30, 120);   saveBtn.mousePressed(saveFile);     // Setup the writer   fwriter = createWriter( "tables.txt" ); }   function draw() {   clear();   text( "Fill in the values to generate a multiplication table:" , 20, 20);   text( "Multiplication table of" , 20, 60);   text( "Multiplication table upto" , 20, 90); }   function saveFile() {   // Get the value of the two inputs   // and generate table   let multipicand = multiOf.value();   let multiMax = multiTo.value();     for (let multiplier = 1; multiplier <= multiMax; multiplier++) {     let textToWrite =       multipicand + " * " + multiplier + " = " + multipicand * multiplier;       // Print to the writer     fwriter.print(textToWrite);   }     // Close the writer   fwriter.close();     // Clear the writer   fwriter.clear(); } |
Output:
Online editor: https://editor.p5js.org/
Environment Setup: https://www.geeksforgeeks.org/p5-js-soundfile-object-installation-and-methods/
Reference: https://p5js.org/reference/#/p5/createWriter