List of Java Examples
1. FileOutStream Example: Write to a file
2. FileInputStream Example: Read from a file
3. FileOutputStream Example along with Try With Resources
4. Copy file Utility using Byte Stream Classes (FileInputStream, FileOutputStream)
5. Using Character Stream Class FileWriter to write to a file
6. BufferedInputStream Example
6. DataStream Example (DataInputStream & DataOutputStream)
7. ObjectStream Example
8. Using File Class to view file attributes (Complete path, length, file type(regular/directory)
9. ListDirectory using File Methods (list, listFiles)
10. List all files in a directory and its sub directories
FileOutStream Example: Write to a file

import java.io.FileOutputStream; public class I01FosExample { public static void main(String[] args) { // TODO Auto-generated method stub try{ FileOutputStream fout=new FileOutputStream("testout.txt"); String s="Welcome to Java Course and Today is Monday(19-Jun-2017)"; byte b[]=s.getBytes();//converting string into byte array fout.write(b); fout.close(); System.out.println("success..."); }catch(Exception e){System.out.println(e);} } } |
FileInputStream Example: Read from a file

import java.io.FileInputStream; public class I02FisExample { public static void main(String[] args) { // TODO Auto-generated method stub try{ FileInputStream fin=new FileInputStream("testout.txt"); int i=0; while((i=fin.read())!=-1){ System.out.print((char)i); } fin.close(); }catch(Exception e) { System.out.println(e); } } } |
FileOutputStream Example along with Try With Resources

import java.io.FileOutputStream; public class I03FosExampleTryWithRes { public static void main(String[] args) { // TODO Auto-generated method stub try(FileOutputStream fout=new FileOutputStream("testout12.txt")){ String s="Welcome to Java Course and Try With Resources"; byte b[]=s.getBytes();//converting string into byte array fout.write(b); // fout.close(); System.out.println("success..."); }catch(Exception e){System.out.println(e);} } } |
Copy file Utility using Byte Stream Classes (FileInputStream, FileOutputStream)

Note: 1) Program Arguments: Source_File_Name Destination_File_Name 2) Converstion of byte array to String import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class I04CopyFile { public static void main(String[] args) { // TODO Auto-generated method stub if ((args.length==0)||(args.length<2)){ System.out.println("Please provide source and destination file"); return; } String srcFile=args[0]; String destFile = args[1]; try{ FileInputStream inStream=new FileInputStream(srcFile); FileOutputStream outStream = new FileOutputStream(destFile); byte[] buffer = new byte[1024]; int length; /*copying the contents from input stream to * output stream using read and write methods */ while ((length = inStream.read(buffer)) > 0){ outStream.write(buffer, 0, length); System.out.println("Buffer length:"+length); // Convert byte array to String String str2 = new String(buffer,"UTF-8"); System.out.println(str2); } //Closing the input/output file streams inStream.close(); outStream.close(); System.out.println("File copied successfully!!"); }catch(IOException ioe){ ioe.printStackTrace(); } } } |
Using Character Stream Class FileWriter to write to a file

import java.io.FileWriter; public class I05FileWriterExample { public static void main(String[] args) { // TODO Auto-generated method stub try{ FileWriter fw=new FileWriter("testout12.txt"); String s="Welcome to Java Course and File Writer"; fw.write(s); fw.close(); System.out.println("File writer success..."); }catch(Exception e){System.out.println(e);} } } |
BufferedInputStream Example

import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; public class I06BisExample { public static void main(String[] args) { // TODO Auto-generated method stub BufferedInputStream bis = null; FileInputStream fis= null; try { //FileInputStream to read the file fis = new FileInputStream("about.txt"); /*Passed the FileInputStream to BufferedInputStream *For Fast read using the buffer array.*/ bis = new BufferedInputStream(fis); /*available() method of BufferedInputStream * returns 0 when there are no more bytes * present in the file to be read*/ while( bis.available() > 0 ){ System.out.print((char)bis.read()); } }catch(FileNotFoundException fnfe) { System.out.println("The specified file not found" + fnfe); } catch(IOException ioe) { System.out.println("I/O Exception: " + ioe); } finally { try{ if(bis != null && fis!=null) { fis.close(); bis.close(); } }catch(IOException ioe) { System.out.println("Error in InputStream close(): " + ioe); } } } } |
DataStream Example (DataInputStream & DataOutputStream)

import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class I06DataInputStream { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub DataOutputStream dataOutputStream = new DataOutputStream( new FileOutputStream("dataStream.bin")); dataOutputStream.writeInt(123); dataOutputStream.writeFloat(123.45F); dataOutputStream.writeLong(789); dataOutputStream.close(); DataInputStream dataInputStream = new DataInputStream( new FileInputStream("dataStream.bin")); int int123 = dataInputStream.readInt(); float float12345 = dataInputStream.readFloat(); long long789 = dataInputStream.readLong(); dataInputStream.close(); System.out.println("int123 = " + int123); System.out.println("float12345 = " + float12345); System.out.println("long789 = " + long789); } } |
ObjectStream Example

Note: Use of serialazable. Please delete implements serializable and try running program. import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; public class I08ObjectStreamExample { public static class Person implements Serializable { public String name = null; public int age = 0; } public static void main(String[] args) throws FileNotFoundException, IOException, ClassNotFoundException { // TODO Auto-generated method stub ObjectOutputStream objectOutputStream = new ObjectOutputStream(new FileOutputStream("person.dat")); Person person = new Person(); person.name = "Chandan Kumar"; person.age = 19; objectOutputStream.writeObject(person); objectOutputStream.close(); ObjectInputStream objectInputStream = new ObjectInputStream(new FileInputStream("person.dat")); Person personRead = (Person) objectInputStream.readObject(); objectInputStream.close(); System.out.println(personRead.name); System.out.println(personRead.age); } } |
Using File Class to view file attributes (Complete path, length,
file type(regular/directory)

import java.io.File; public class I11FileAttributes { public static void main(String[] args) { // TODO Auto-generated method stub File f1 = new File("testout.txt"); if (f1.isFile()){ System.out.println("This is a regular file"); } System.out.println(f1.getAbsolutePath()); System.out.println(f1.length()); System.out.println(f1.getName()); System.out.println(f1.isDirectory()); } } |
ListDirectory using File Methods (list, listFiles)

Note: list returns File Names String array whereas listFiles return File object array import java.io.File; public class I12ListDirectory { public static void main(String[] args) { // TODO Auto-generated method stub File f2 = new File("C:"); System.out.println(f2.getAbsolutePath()); if (f2.isDirectory()) { String[] list=f2.list(); for (String x:list) System.out.println(x); File[] f3= f2.listFiles(); for(File x: f3) { System.out.println(x.getName()+":"+x.length() ); } } } } |
List all files in a directory and its sub directories

Note: Please note the usage of recursion here.. import java.io.File; import java.io.IOException; public class I14ListAllFiles { public static void main(String[] args) { // TODO Auto-generated method stub File currentDir = new File("D:\\Java-Pgms"); // current directory showDirectoryContents(currentDir); } public static void showDirectoryContents(File dir) { try { File[] files = dir.listFiles(); for (File file : files) { if (file.isDirectory()) { System.out.println("directory:" + file.getCanonicalPath()); showDirectoryContents(file); } else { System.out.println(" file:" + file.getCanonicalPath()); } } } catch (IOException e) { e.printStackTrace(); } } } |