Most people will read the file content and assign to StringBuffer or String line by line. Here’s another trick that may interest you – how to assign whole file content into a variable with one Java’s statement, try it 🙂

Example

In this example, you will use DataInputStream to convert all the content into bytes, and create a String variable with the converted bytes.

package com.favtuts.io;

import java.io.DataInputStream;
import java.io.FileInputStream;

public class App{

	public static void main (String args[]) {

	try{
		
	         DataInputStream dis = 
		    new DataInputStream (
		    	 new FileInputStream ("c:\\logging.log"));
		       
		 byte[] datainBytes = new byte[dis.available()];
		 dis.readFully(datainBytes);
		 dis.close();
		       
		 String content = new String(datainBytes, 0, datainBytes.length);
		     
		 System.out.println(content);
		 
	}catch(Exception ex){
		ex.printStackTrace();
	}
		
  }
}

Output

This will print out all the “logging.log” file content.

10:21:29,425  INFO Version:15 - Hibernate Annotations 3.3.0.GA
10:21:29,441  INFO Environment:509 - Hibernate 3.2.3
10:21:29,441  INFO Environment:542 - hibernate.properties not found
10:21:29,456  INFO Environment:676 - Bytecode provider name : cglib
10:21:29,456  INFO Environment:593 - using JDK 1.4 java.sql.Timestamp handling
............

Leave a Reply

Your email address will not be published. Required fields are marked *