Showing posts with label byte IO. Show all posts
Showing posts with label byte IO. Show all posts

Tuesday, 17 May 2011

Read partial byte array using ByteArrayInputStream Example

We can write byte array completely as well as partially, i.e. we can write byte array from one index to other. We have already written byte array completely here. We can read byte array partially like this:
/* uses ByteArrayInputStream(byte[] b, int offset, int length)
*/
public static void printPartialByteArray(byte[] bytes, offset, 
length)
ByteArrayInputStream bis = new ByteArrayInputStream(bytes, 
offset, length);
int ch;

while ((ch = bis.read()) != -1)
{
System.out.print((char)ch);
}

}



Using the above function:

String str = "Partial Byte Array InputStream Example";

//get bytes from string
byte[] bytes = str.getBytes();
printPartialByteArray(bytes,5,5);

Thursday, 12 May 2011

Read partial byte array using ByteArrayInputStream Example

We can write byte array completely as well as partially, i.e. we can write byte array from one index to other. We have already written byte array completely here. We can read byte array partially like this:

/* uses ByteArrayInputStream(byte[] b, int offset, int length)
*/
public static void printPartialByteArray(byte[] bytes, offset, length)
ByteArrayInputStream bis = new ByteArrayInputStream(bytes, offset, length);
int ch;

while ((ch = bis.read()) != -1)
{
System.out.print((char)ch);
}

}




Using the above function:



String str = "Partial Byte Array InputStream Example";

//get bytes from string
byte[] bytes = str.getBytes();
printPartialByteArray(bytes,5,5);

Read byte array using ByteArrayInputStream Example

Here we read the byte array and put it on console.

Function to read the byte array:

public static void readByteArray(byte[] bytes){
ByteArrayInputStream bai = new ByteArrayInputStream(bytes);

int ch;

//read bytes from ByteArrayInputStream using read method
while((ch = bai.read()) != -1)
{
System.out.print((char)ch);
}


}



Using the above function:



String str = "ByteArrayInputStream Example!";

//get bytes from string using getBytes method
byte[] bytes = str.getBytes();
readByteArray(bytes);



For partial reading of byte array read here.

Wednesday, 11 May 2011

Write byte array to file using BufferedOutputStream

Writing the function:

public static void writeByteArrayToFile(String fileName, byte[] byteArr)
{
BufferedOutputStream bos = null;
try
{
//create an object of FileOutputStream
FileOutputStream fos = new FileOutputStream(new File(strFileName));
//create an object of BufferedOutputStream
bos = new BufferedOutputStream(fos);


/*
* To write byte array to file use,
* public void write(byte[] b) method of BufferedOutputStream
* class.
*/
System.out.println("Writing byte array to file");
bos.write(byteArr);
System.out.println("File written");
}
catch(FileNotFoundException fnfe)
{
System.out.println("Specified file not found" + fnfe);
}
catch(IOException ioe)
{
System.out.println("Error while writing file" + ioe);
}
finally
{
if(bos != null){
try
{
//flush the BufferedOutputStream
bos.flush();
//close the BufferedOutputStream
bos.close();
}
catch(Exception e){//don't swallow
//exceptions..add your code accordingly
}
}
}
}


Using the above function:


String fileName = "C:\demo.txt";
String str = "BufferedOutputStream Example to write byte array";
writeByteArrayToFile(fileName,str.getBytes());

Write byte to file using BufferedOutputStream

 

public static void writeByte2File(byte b, String fileName)
{
BufferedOutputStream bos = null;

try
{
//Create FileOutputStream for the file
FileOutputStream fos = new FileOutputStream(fileName);
//Create BufferedOutputStream object
//for FileOutputStream

bos = new BufferedOutputStream(fos);

/*
* To write a byte to BufferedOutputStream use,
* public void write(int b) method of BufferedOutputStream
* class.
*
* This method may throw IOException if something goes
* wrong.
*/

System.out.println("BufferedOutputStream: writing file");

bos.write(b);

System.out.println("BufferedOutputStream : written file");
}
catch(FileNotFoundException fnfe)
{
System.out.println("Specified file not found" + fnfe);
}
catch(IOException ioe)
{
System.out.println("Error while writing to file" + ioe);
}
finally
{
try
{
if(bos != null)
{
bos.flush();
bos.close();
}

}
catch(Exception e){}

}
}



Eg. of calling function:


String fileName="C:\demo.txt";
byte b = 65;
//this will write a character represented by ascii 65
//i.e. 'A'
writeByte2File(b,fileName);