JAVA; When The string from the file is printed on screen null is also printed along with it at the end
<p>Soo my program is working...but there is just one problem...null is also being printed along with the content or string from the file... is there anyway i can stop null from being printed. The code read asks a user to give a filename .txt then the user is asked a the character he/she wold like to be searched and the program searches for the that specified character in the string , prints out the content of the text file and tells how many times it was found. The problem is after it prints out the contents of the text file (string) it also prints oout the word null but null is not in the txt file.</p>

<pre><code>import java.util.Scanner;
import java.io.*;

public class filefinder
 {
   public static void main(String[] args) throws IOException
   {


         //needed for scanner class
          Scanner kb = new Scanner(System.in);

          int charCount = 0;
            String filename = "";
            String str = "";
            String line = "";
            boolean isString = false;
            boolean fileFound = false;
            FileReader freader;

          // get users string
            while (!fileFound)
            {
          while (!isString)
            {   
            try { Thread.currentThread().sleep(500); }
                catch ( Exception e ) { }

            System.out.println("Please enter a filename: ");
            System.out.println("");
          filename = kb.nextLine();
            if (filename != null)
                   isString = true;
           }//end inner while loop

            // open file
            try 
            {
                freader = new FileReader(filename);     

            fileFound = true;


            Thread.currentThread().sleep(1500);
            }
            catch (Exception e)
            {

            System.out.println("");
            System.out.println("The system cannot find the file specified.");
            System.out.println("");
            isString = false;


            }//end try-catch
            }//end outer while loop

            try { Thread.currentThread().sleep(1000); }
          catch ( Exception e ) { }

           freader = new FileReader(filename);
            BufferedReader inputFile = new BufferedReader(freader);

            // Read first line from file
            while (line !=null)
            {

            line = inputFile.readLine();

            if (line != null)


            try { Thread.currentThread().sleep(1000); }
          catch ( Exception e ) { }

                 str = str+ "\n" + line; 
            }//end while

            System.out.println(str);

            inputFile.close();

          // get users character
            System.out.println("");
          System.out.println("Please enter a character you want to find: ");
            System.out.println("");
          char userChar = kb.nextLine().charAt(0);






                    while(str.length()&gt;0){
                    for(int i= 0;i&lt;str.length();i++){
                                if(str.charAt(i)==userChar)
                        charCount++;

                }


          System.out.println("\n The entered character " +"\"" + userChar +
                              "\"  inside  " + filename +
                              "was found " + charCount +   " times.\n");         
                                      break;  

        }
    }
    }
</code></pre>
