//FileClassDemo.java

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class FileClassDemo
{
    public static void main(String[] args)
    {
        System.out.print("Enter file name: ");
        Scanner keyboard = new Scanner(System.in);
        String fileName = keyboard.next();
        File fileObject = new File(fileName);
		boolean fileOK = false;
        while (!fileOK)
        {
            if  (!fileObject.exists())
                System.out.println("Error: No such file.");
            else if (!fileObject.canRead())
                System.out.println("Error: File not readable.");
		    else
			    fileOK = true;
		    if (!fileOK)
		    {
                System.out.print("Enter file name again: ");
                fileName = keyboard.next();
                fileObject = new File(fileName);
		    }	
        }

		Scanner inputStream = null;
		System.out.println("The file " + fileName + 
		    "\ncontains the following lines:");
		try
		{
		    inputStream = new Scanner(new File(fileName));
		}
		catch (FileNotFoundException e)
		{
		    System.out.println("Error opening the file " + fileName + ".");
		    System.exit(0);
		}                

		while (inputStream.hasNextLine())
		{
			String line = inputStream.nextLine();
			System.out.println(line);
		}

        //Some other methods of the File class:
        /*
        System.out.println(fileObject.exists());
        System.out.println(fileObject.canRead());
        System.out.println(fileObject.canWrite());
        System.out.println(fileObject.getPath());
        System.out.println(fileObject.getName());
        System.out.println(fileObject.length());
        System.out.println(fileObject.delete());
        */
		inputStream.close();
        //System.out.println(fileObject.delete());
    }
}

