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/amp/
Reference: https://p5js.org/reference/#/p5/createWriter