//Binary file creation and reading
import java.io.*;
class BinaryFiles
{   public static void create()throws IOException
    {   FileOutputStream fos=new FileOutputStream("B.DAT",true);
DataOutputStream dos=new DataOutputStream(fos);// like pw
        String name="Charles Babbage";
        int marks=100;
        dos.writeUTF(name);
        dos.writeInt(marks);
        dos.close();
        fos.close();
    }//create
public static void read1()throws IOException
    {   FileInputStream fis=new FileInputStream("B.DAT");
        DataInputStream dis=new DataInputStream(fis);
        String name;
        int marks;
        name=dis.readUTF();
        marks=dis.readInt();
        System.out.println("Name : "+name);
        System.out.println("Marks: "+marks);
        dis.close();
        fis.close();
    }//read1
    public static void readAll()throws IOException
    {   FileInputStream fis=new FileInputStream("B.DAT");
        DataInputStream dis=new DataInputStream(fis);
        String name;
        int marks;
        boolean endOfFile=false;
        while(!endOfFile)
        {   try{
                name=dis.readUTF();//Generates EOFException at end
                marks=dis.readInt();
                System.out.println("Name : "+name);
                System.out.println("Marks: "+marks);
            }
            catch(EOFException e)
            {   endOfFile=true;
            }
        }//while
        dis.close();
        fis.close();
    }//read
    public static void main(String args[])throws IOException
    {   create();
        read1();
        System.out.println("-----");
        readAll();
    }
}//Files

