JAVA.IO PACKAGE

STREAMS

1. Flow of data from one place to another place is known as Stream.
2. There are some set of classes present in java.io package.

FileWriter

 Ø  This class is present in java.io package.
 Ø  This class is used to create a new file and write data into that file.
 Ø  To create object for FileWriter class

    FileWriter  fw=new FileWriter(“filename”);

 Ø To write data into the file we have to execute write() method

  fw.write(String);

 Ø To close FileWriter we have to use close() method

fw.close();

PROGRAM:-

import java.io.*;
class Createdemo
{
  public static void main(String args[])
 {
   try
  {
    FileWriter fw=new FileWriter("first.txt");
    String str="hello welcome to io package";
    fw.write(str);
   fw.close();
    }
     catch(IOException e)
     {
        System.out.println(e);
     }
  }
}

File Name: -    Createdemo.java    

Commands:-
                     javac    Createdemo.java
java      Createdemo

OUTPUT:-       

A file named first.txtis created and the data “hello welcome to io package” is stored in the file.

INTERVIEW  TIPS:-
      
       1)   If we do not close FileWriter by using close () method then the data will not be written into the file. Therefore, we must compulsorily close the FileWriter.

FileReader

 Ø  This class is present in java.io package.
 Ø          This class is used to read data from a file.
 Ø          To create object for FileReader class

FileReader  fr=new FileReader(“filename”);

 Ø To read data from the file we have to execute read () method

fr.read();

 Ø To close FileReader we have to use close() method.

fr.close();

PROGRAM:-

import java.io.*;
class Readdemo
{
  public static void main(String args[]) throws IOException
  {
     FileReader fr=new FileReader("first.txt");
     int ch;
     while((ch=fr.read())!=-1)
     {
        System.out.print((char)ch);
     }
    fr.close();
   }
}

File Name: -    Readdemo.java    

Commands:-
                      javac    Readdemo.java
java     Readdemo

OUTPUT:-       
                     hello welcome to io package

BufferedReader

 Ø  This class is present in java.io package.
 Ø  This class is used to read data given by the user in command prompt at runtime.
 Ø  To create object for BufferedReader class

BufferedReader  br=new BufferedReader(new InputStreamReader(System.in));

 Ø To read data we have to execute readLine() method

br.readLine();

 Ø To close BufferedReader we have to use close () method.

br.close();

PROGRAM:-To create a new file by giving filename and data at runtime.

import java.io.*;
class Createdata
{
  public static void main(String args[]) throws IOException
  {
    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    System.out.println("Enter File Name:");
    String fname=br.readLine();
    FileWriter fw=new FileWriter(fname);
    System.out.println("Enter data:");
   String data=br.readLine();
    fw.write(data);
   fw.close();
   }
}

File Name: -    Createdata.java    

Commands:-
                     javac    Createdata.java
java      Createdata

OUTPUT:-       
                        Enter File Name:
                        Data.txt
                        Enter data:
                        Java Programming
RESULT:-
                       A file is created and the data is stored in the file.

PROGRAM:-To create a new file by giving filename and multiple lines of data at runtime.

import java.io.*;
class Createdata1
{
  public static void main(String args[]) throws IOException
  {
    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    System.out.println("Enter File Name:");
    String fname=br.readLine();
    FileWriter fw=new FileWriter(fname);
    System.out.println("Enter data:");
    String data;
    while((data=br.readLine())!=null)
    {
       if(data.equals("exit")) break;
       fw.write(data+"\r\n");
    }
   fw.close();
   }
}

File Name: -    Createdata1.java    

Commands:-
                     javac   Createdata1.java
java     Createdata1

OUTPUT:-       
                          Enter File Name:
                         multi.txt
                         Enter data:
                         Java Programming
                         Io package
                         Lang package
                         exit
RESULT:-
                         A file is created and the data is stored in the file.

PROGRAM:-To read data from a file by giving filename at runtime.

import java.io.*;
class Readdata
{
  public static void main(String args[]) throws IOException
  {
   try
   {
     BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
     System.out.println("Enter filename:");
     String fname=br.readLine();
     FileReader fr=new FileReader(fname);
    int ch;
    while((ch=fr.read())!=-1)
    {
       System.out.print((char)ch);
    }
    fr.close();
    }
    catch(FileNotFoundException e)
    {
      System.out.println("file doesnot exists");
   }
  }
}

File Name: -    Readdata.java    

Commands:-
                     javac    Readdata.java
java      Readdata

OUTPUT:-    
                         Enter filename:
                         first.txt
                         hello welcome to io package
                         Enter filename:
                         second.txt
                         file doesnot exists

LineNumberReader

 Ø  This class is present in java.io package.
 Ø This class is used to read data from a file along with line numbers.
 Ø To create object for LineNumberReader class

LineNumberReader lr=new LineNumberReader(new FileReader(fname));

 Ø To read data we have to execute readLine () method

lr.readLine();.

 Ø To get the line numbers from file we have to execute getLineNumber () mehod.

lr.getLineNumber ();
  
 Ø To close LineNumberReader we have to use close () method.

lr.close();

PROGRAM:-To read data from a file along with line numbers by giving filename at runtime.

import java.io.*;
class Linedemo
{
  public static void main(String args[]) throws IOException
  {
    try
   {
    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
     System.out.println("Enter filename");
   String fname=br.readLine();
    LineNumberReader lr=new LineNumberReader(new FileReader(fname));
    String str;
    while((str=lr.readLine())!=null)
    {
       System.out.println(lr.getLineNumber()+"."+str);
    }
    lr.close();
     }
     catch(FileNotFoundException e)
    {
      System.out.println("file doesnot exists");
    }
   }
}

File Name: -    Linedemo.java    

Commands:-
                     javac    Linedemo.java
java      Linedemo

OUTPUT:-    
                           Enter filename:
                          multi.txt
                         1. Java Programming
                         2. Io package
                         3. Lang package
                         Enter filename:
                         second.txt
                         file doesnot exists
File

 Ø This class is present in java.io package.
 Ø This class is used to get the information about a file.
 Ø To create object for File class

File f=new File(filename);
 Ø This class consists of different set of methods.

PROGRAM:-  To get the information about a file by giving filename at runtime.

import java.io.*;
class Filedemo
{
  public static void main(String args[]) throws Exception
  {
     BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
     System.out.println("Enter filename");
     String fname=br.readLine();
    File f=new File (fname);
    System.out.println(f.exists());
    if(f.exists())
    {
       System.out.println("file exists");
    }
    else
    {
       System.out.println("file doesnot exists");
    }
    System.out.println(f.getName());
    System.out.println(f.getPath());
    System.out.println(f.getAbsolutePath());
    System.out.println(f.isFile());
    if(f.isFile())
    {
        System.out.println("it is file");
    }
    else
    {
        System.out.println("it is not a file");
    }
    System.out.println(f.isDirectory());
    if(f.isDirectory())
    {
       System.out.println("it is dir");
    }
   else
   {
       System.out.println("it is not a dir");
   }
   System.out.println(f.canWrite());
   System.out.println(f.canRead());
   System.out.println(f.length());
   }
}

File Name: -    Filedemo.java     

Commands:-
                     javac    Filedemo.java
java      Filedemo

OUTPUT:-    
                         Enter filename:
                         multi.txt

PROGRAM:-  To rename a file by giving filenames at runtime.

import java.io.*;
class Renamefile
{
  public static void main(String args[]) throws Exception
  {
     BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
     System.out.println("Enter filename to rename:");
     String ofname=br.readLine();
     File of=new File(ofname);
     if(of.exists())
    {
     System.out.println("Enter new filename:");
     String nfname=br.readLine();
     File nf=new File (nfname);
     if(of.equals(nf))
     {
         System.out.println("file cannot be renamed");
     }
    else
    {
       of.renameTo(nf);
       System.out.println("file renamed");
     }
      }
      else
     {
        System.out.println("file doesnot exists");
     }
    }
}

File Name: -    Renamefile.java    

Commands:-
                     javac    Renamefile.java
java     Renamefile

OUTPUT:-    
                         Enter filename to rename:
                         multi.txt

                              Enter new filename:
                              Demo.txt
                              file renamed
                              Enter filename to rename:
                              multi.txt
                              file doesnot exists
                              Enter filename to rename:
                              Demo.txt
                              Enter new filename:
                              Demo.txt
                              file cannot be renamed

PROGRAM:-  To delete a file by giving filename at runtime.

import java.io.*;
class Deletefile
{
  public static void main(String args[]) throws Exception
  {
     BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
     System.out.println("Enter filename to delete");
     String fname=br.readLine();
     File f=new File (fname);
    if(f.exists())
   {
      f.delete();
     System.out.println("file deleted");
    }
    else
    {
       System.out.println("file doesnot exists");
   }
   }
}

File Name: -    Deletefile.java    

Commands:-
                     javac    Deletefile.java
java      Deletefile

OUTPUT:-    
                         Enter filename:
                         multi.txt
                         file deleted
                         Enter filename:
                         multi.txt
                         file doesnot exists

PROGRAM:-  To create directory.

import java.io.*;
class Dirdemo
{
  public static void main(String args[])
  {
     File dir1=new File ("data");
     dir1.mkdir ();
     File dir2=new File ("demo/data/example");
     dir2.mkdirs ();
     System.out.println("directory created");
   }
}

File Name: -    Dirdemo.java    

Commands:-
                     javac    Dirdemo.java
java      Dirdemo

OUTPUT:-    
                    directory created

PROGRAM:-  To create directory, create file in that directory and store data in that file by giving input at runtime.

import java.io.*;
class Dirdemo1
{
   public static void main(String args[]) throws Exception
   {
     BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
     System.out.println("Enter dir name:");
     String dname=br.readLine();
     File dir=new File (dname);
     dir.mkdir();
     System.out.println("Enter filename:");
     String fname=br.readLine();
     File f=new File(dir,fname);
     FileWriter fw=new FileWriter(f);
     System.out.println("Enter data:");
     String data;
     while((data=br.readLine())!=null)
    {
       if(data.equals("exit")) break;

       fw.write(data+"\r\n");
    }
     fw.close();
    }
}

File Name: -    Dirdemo1.java    

Commands:-
                    javac    Dirdemo1.java
java     Dirdemo1

OUTPUT:-    
                          Enter dir name:
                          Demo
                         Enter filename:
                         Data.txt
                         Enter data:
                        This is java language
RESULT:-

A directory is created and file is created in that directory and the data is stored in the file.