A good answer might be:

Yes. The parameter for the constructor is a string, which could contain user data.

File Name from User Input

The next example program writes to a disk file named by the user. The trim() method removes leading and trailing spaces from the user data. Two try{} blocks are used so that if the constructor throws an exception an appropriate error message is written.

import java.io.*;
class CreateFile
{
  public static void main ( String[] args ) 
  {

    // Get filename and create the file
    FileWriter writer = null;
    BufferedReader user = new BufferedReader(
        new InputStreamReader( System.in ) );
    String fileName = "";

    System.out.print("Enter Filename-->"); System.out.flush();
    try
    {
      fileName = user.readLine().trim();
      writer = new FileWriter( fileName );
    }
    catch ( IOException iox )
    {
      System.out.println("Error in creating file");
      return;
    }
      
    // Write the file.
    try
    {  
      writer.write( "Behold her, single in the field,\n"  );  
      writer.write( "Yon solitary Highland Lass!\n"  );  
      writer.write( "Reaping and singing by herself;\n" );  
      writer.write( "Stop here, or gently pass!\n"  );  
      writer.close();
    }
    catch ( IOException iox )
    {
      System.out.println("Problem writing " + fileName );
    }
  }
}

QUESTION 12:

(Review: ) What is a buffer?