In this program we will read a file in the form of a byte array. We can do it very easily.
Reading a File into a Byte Array
In this program we will read a file in the form of a
byte array. We can do it very easily. Firstly we will create an object of File
class and pass the name of the file which we want to read, in the constructor of
File class. We will use DataInputStream to read primitive data
types.
We are using the following methods:
length(): It gives the length of the file.
Getting the file size code: ReadInByteArray.java
import java.io.*;
public class ReadInByteArray
{
public static void main(String[] args)
{
try
{
File file = new File("tapan.txt");
int size = (int)file.length();//It gives the length of the file.
System.out.println("Size of the file:
" + size);
}
catch (Exception e)
{
System.out.println("Exception has been thrown :" + e);
}
}
}
|
Download this
program
The following code helps you in getting the file
size in byte array.
Here is the Byte Array code: ByteArrayExample.java
import java.io.*;
public class ByteArrayExample{
public static void main(String[] args) {
try{
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter File name: ");
String str = bf.readLine();
File file = new File(str);
//File length
int size = (int)file.length();
if (size > Integer.MAX_VALUE){
System.out.println("File is to larger");
}
byte[] bytes = new byte[size];
DataInputStream dis = new DataInputStream(new FileInputStream(file));
int read = 0;
int numRead = 0;
while (read < bytes.length && (numRead=dis.read(bytes, read,
bytes.length-read)) >= 0) {
read = read + numRead;
}
System.out.println("File size: " + read);
// Ensure all the bytes have been read in
if (read < bytes.length) {
System.out.println("Could not completely read: "+file.getName());
}
}
catch (Exception e){
e.getMessage();
}
}
}
|