/**
*
*  This code was written to see test using different delimiters of the user's
*  choice as in the  .useDelimiter(     ) method of Scanner. Try different single 
*  value character strings when you run it.
*
*  @author Elizabeth Adams
* 
*
*/
       // import needed packages/classes
   import java.util.Scanner;
   import java.io.*;


    public class ChooseDelimiter
   {
       public static void main (String  [] args)
      {
      
         Scanner fileScanner, lineScanner, keyboardScanner;
         String fileName;
         String temp;
         String myDelimiter;
      
      
         fileName = "delimiters.txt"; // hard coding filename for test example
        
         try   // to instantiate Scanner for file
         {  
            fileScanner = new Scanner (new File (fileName)); // works if file present
         }
             catch (FileNotFoundException fnfe)// if file not present
            {
               fileScanner = new Scanner ("je#bs&dgu%asasabd&n$k $7");  // will scan this string
               System.out.println (fnfe.getMessage());  // prints error
               fnfe.printStackTrace();  // prints trace of calling stack
            } 	   
      
         temp = fileScanner.nextLine(); // gets single line from file or String above
         System.out.println (" Picked up line containing " + temp);  // echoes it
         lineScanner = new Scanner (temp);  // sets Scanner to scan String
      
         System.out.println 
            (" Please enter the character you would like to use as a delimiter ");
         keyboardScanner = new Scanner (System.in);  //sets scanner to Keyboard
         myDelimiter = keyboardScanner.next();  // gets user's favorite delimiter
         System.out.println( "*" + myDelimiter + "*");// echoes delimiter with stars
      
                 // tells line scanner to use user's delimiter
         lineScanner.useDelimiter (myDelimiter);  
      
         while (lineScanner.hasNext()) // if there's something left in String
         {
            temp = lineScanner.next();  // get a token from the String
            System.out.println ('*' + temp + '*');  // echo it
         }
      } // end main
   } // end class