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