Skip to main content

FILE HANDLING IN JAVA



About File Handling
File handling in Java is frankly a bit of a pig’s ear, but it’s not too complicated once you understand a few basic ideas. The key things to remember are as follows.
You can read files using these classes:
  • FileReader for text files in your system’s default encoding (for example, files containing Western European characters on a Western European computer).
  • FileInputStream for binary files and text files that contain ‘weird’ characters.
FileReader (for text files) should usually be wrapped in a BufferedFileReader. This saves up data so you can deal with it a line at a time or whatever instead of character by character (which usually isn’t much use).
If you want to write files, basically all the same stuff applies, except you’ll deal with classes named FileWriter with BufferedFileWriter for text files, or FileOutputStream for binary files.

Reading Ordinary Text Files in Java
If you want to read an ordinary text file in your system’s default encoding (usually the case most of the time for most people), use FileReader and wrap it in a BufferedReader.
In the following program, we read a file called “temp.txt” and output the file line by line on the console.
import java.io.*;

public class Test {
    public static void main(String [] args) {

        // The name of the file to open.
        String fileName = "temp.txt";

        // This will reference one line at a time
        String line = null;

        try {
            // FileReader reads text files in the default encoding.
            FileReader fileReader =
                new FileReader(fileName);

            // Always wrap FileReader in BufferedReader.
            BufferedReader bufferedReader =
                new BufferedReader(fileReader);

            while((line = bufferedReader.readLine()) != null) {
                System.out.println(line);
            } 

            // Always close files.
            bufferedReader.close();                 
        }
        catch(FileNotFoundException ex) {
            System.out.println(
                "Unable to open file '" +
                fileName + "'");                            
        }
        catch(IOException ex) {
            System.out.println(
                "Error reading file '"
                + fileName + "'");                                  
            // Or we could just do this:
            // ex.printStackTrace();
        }
    }
}

Writing Text Files in Java

To write a text file in Java, use FileWriter instead of FileReader, and BufferedOutputWriter instead of BufferedOutputReader. Simple eh?
Here’s an example program that creates a file called ‘temp.txt’ and writes some lines of text to it.
import java.io.*;
 
public class Test {
    public static void main(String [] args) {
 
        // The name of the file to open.
        String fileName = "temp.txt";
 
        try {
            // Assume default encoding.
            FileWriter fileWriter =
                new FileWriter(fileName);
 
            // Always wrap FileWriter in BufferedWriter.
            BufferedWriter bufferedWriter =
                new BufferedWriter(fileWriter);
 
            // Note that write() does not automatically
            // append a newline character.
            bufferedWriter.write("Hello there,");
            bufferedWriter.write(" here is some text.");
            bufferedWriter.newLine();
            bufferedWriter.write("We are writing");
            bufferedWriter.write(" the text to the file.");
 
            // Always close files.
            bufferedWriter.close();
        }
        catch(IOException ex) {
            System.out.println(
                "Error writing to file '"
                + fileName + "'");
            // Or we could just do this:
            // ex.printStackTrace();
        }
    }
}

Comments

Popular posts from this blog

IP ADDRESS CLASSES

IP address classes Class 1 st  Octet Decimal Range 1 st  Octet High Order Bits Network/Host ID (N=Network, H=Host) Default Subnet Mask Number of Networks Hosts per Network (Usable Addresses) A 1 – 126* 0 N.H.H.H 255.0.0.0 126 (2 7  – 2) 16,777,214 (2 24  – 2) B 128 – 191 10 N.N.H.H 255.255.0.0 16,382 (2 14  – 2) 65,534 (2 16  – 2) C 192 – 223 110 N.N.N.H 255.255.255.0 2,097,150 (2 21 – 2) 254 (2 8  – 2) D 224 – 239 1110 Reserved for Multicasting E 240 – 254 1111 Experimental; used for research Note:  Class A addresses 127.0.0.0 to 127.255.255.255 cannot be used and is reserved for loopback and diagnostic functions. Private IP Addresses Class Private Networks Subnet Mask Addr...

UNIX/LINUX COMMAND

Unix / Linux Command cat  --- for creating and displaying short files chmod  --- change permissions cd  --- change directory cp  --- for copying files date  --- display date echo  --- echo argument ftp  --- connect to a remote machine to download or upload files grep  --- search file head  --- display first part of file ls  --- see what files you have lpr  --- standard print command (see also  print  ) more  --- use to read files mkdir  --- create directory mv  --- for moving and renaming files ncftp  --- especially good for downloading files via anonymous  ftp . print  --- custom print command (see also  lpr  ) pwd  --- find out what directory you are in rm  --- remove a file rmdir  --- remove directory rsh  --- remote shell setenv  --- set an environment variable sort  --- sort file tail  --- display last part of file ta...

RADIO BUTTON COMPONENT OF AWT IN JAVA

import java.awt.*; import java.awt.event.*; class Radio implements ItemListener {     Frame fr;     Panel p;     CheckboxGroup cgp;     Checkbox c1,c2,c3;     private String msg;         public Radio()     {         fr=new Frame("RADIO BUTTON");         p=new Panel();         cgp=new CheckboxGroup();         c1=new Checkbox("CASH",cgp,true);         c2=new Checkbox("CHEQUE",cgp,false);         c3=new Checkbox("DEMAND DRAFT",cgp,false);         p.add(c1);         p.add(c2);         p.add(c3);         c1.addItemListener(this);         c2.addItemListener(this);         c3.addItemListener(this);         fr.add(p);   ...