Write data into file in binary format in java

Write data into file in binary format in java

import java.io.File;
import java.io.*;
import java.util.*;

class Student
{
//attributes
  int roll;
  String name;

  Student(int roll,String name)
  {
this.roll=roll;
this.name=name;
  }
  Student(String records)
  {
String fields[]=records.split("-");
this.roll=Integer.parseInt(fields[0]);
this.name=fields[1];
  }
  public String toString()
  {
 return Conversion.getBinary(String.valueOf(roll))+"-"+Conversion.getBinary(name);
  }
  static String objectToString(Student stud[])
  {
 StringBuffer bf=new StringBuffer();
 int i;
 for(i=0;i<stud.length-1;i++)
 {
 bf.append(stud[i]).append("#");
 }
 bf.append(stud[i]);
 return new String(bf);
  }
 
  static Student[] stringToObject(String str)
  {
 String s[]=str.split("#");
 Student[] stud=new Student[s.length];
 for(int i=0;i<stud.length;i++)
 {
 stud[i]=new Student(s[i]);
 }
 return stud;
  }
}


class Conversion
{
//decimal to binary
static String getBinary(String s)
{
char c[]=s.toCharArray(); //store all the characters of string
int asci;
StringBuffer sb=new StringBuffer();
String singlecode,sevenBit,withParity;

for(int i=0;i<c.length;i++)
{
asci=(int)c[i]; //find the ascii of value of char
singlecode=Integer.toBinaryString(asci); // convert into binary
sevenBit=Conversion.getSevenBit(singlecode); // add recommended zero's (gets seven bit digit)
withParity=Conversion.setParityBit(sevenBit); // set parity bit at the last index
sb.append(withParity).append(":"); //append all the binary codes in the var
}
sb=sb.deleteCharAt(sb.length()-1);
return new String(sb);
}
static String getSevenBit(String s)
{
StringBuffer sb=new StringBuffer();
for(int i=0;i<(7-s.length());i++)
{
sb.append("0"); // add zeros to the starting of string
}
sb.append(s);
return new String(sb);
}
static String setParityBit(String s)
{

int counter=0; // increse when found 1 in string
for(int i=0;i<s.length();i++)
{
if(s.charAt(i)=='1') // 1 founded
{
counter++;
}
}
if(counter%2==0) // if counter has even
s=s.concat("0");
else
s=s.concat("1"); // if counter has odd
return s;
}

//binary to decimal
static String binaryToDecimal(String s)
{
int flag=0;
String bit="125:64:32:16:8:4:2:1";
String bitAr[]=bit.split(":");
StringBuffer binary=new StringBuffer();
for(int i=0;i<s.length()-1;i++)
{
if(s.charAt(i)==0)
flag=0;
else
binary.append(s.charAt(i));
}
for(int i=0;i<bitAr.length;i++)
{
System.out.println(bitAr[i]);
}
System.out.println();
return new String(binary);
}
}

class A
{
  public static void main(String ar[]) throws IOException
  {
Student[] stud=new Student[4];
stud[0]=new Student(1,"Mona");
stud[1]=new Student(2,"Mohit");
stud[2]=new Student(3,"Kapil");
stud[3]=new Student(4,"Vaishali");

System.out.println("Object To String : ");
String obTos=Student.objectToString(stud);
System.out.println(obTos);

// write into a file
FileWriter fw=new FileWriter(ar[0]);
fw.write(obTos);
fw.close();


//read from file
System.out.println();
BufferedReader br=new BufferedReader(new FileReader(ar[0]));
String rdstr=br.readLine();

System.out.println("String To Object : ");
Student sToOb[]=Student.stringToObject(rdstr);
for(int i=0;i<sToOb.length;i++)
{
System.out.println(sToOb.length);
}
//System.out.println(Conversion.binaryToDecimal("10000010"));
/*System.out.print("Enter String : ");
BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
String str=bf.readLine();
String allBinaryCodes=Conversion.getBinary(str);
*/


  }
}

Kategori

Kategori