Link to home
Start Free TrialLog in
Avatar of g46905
g46905

asked on

convert a the value of a string buffer to input stream

I am trying to assign the value of String buffer to an inout stream. Could someone please help me with this?
ASKER CERTIFIED SOLUTION
Avatar of Mick Barry
Mick Barry
Flag of Australia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of g46905
g46905

ASKER

I tried the solution metioned above.For some reason,The starting letter is not being stored in the input stream.

For example:

String Buffer GS = "ABCDEFGHI"

when I read this into input stream

I see only "BCDEFGHI"

Can you please tell me why this is happening?

Thanks,
how are you reading from the stream?
Avatar of g46905

ASKER

ByteArrayInputStream ba = new ByteArrayInputStream(gs.toString().getBytes());

I am passing this value as a parameter

processZipEntry(ba, size,segDelim,elemDel,fromDDD,toDDD,profileName);  

=======>>
public static void processZipEntry(InputStream f, int size,char segDel,char elemDel ,Date fromDDDt,Date toDDDt,String profName ) {
      
      Vector v = new Vector();
      StringBuffer sb = new StringBuffer();
          try {
                        
                  String stSlnValue = null;
                int sBegin = 0;
                size = size - HEADER_LENGTH;
          
              for (int i=0;i<size;i++){
   
                      char c = (char)f.read();
                     
                      sb.append(c);
                      if(sb.charAt(i) == segDel){
                            
                            System.out.println(" string value stSln :" + sb.toString().trim().substring(sBegin,i));
                                         
                         stSlnValue = sb.toString().trim().substring(sBegin,i) + elemDel + profName ;
                         
                         //System.out.println(" string value stSln :" + stSlnValue);
                         
                             if ((stSlnValue.toString().startsWith("GS*FA")) || (stSlnValue.toString().startsWith("ST")) || (stSlnValue.toString().startsWith("SLN"))){      
                             v.add(new String(stSlnValue));}
                                                         // if  
                             sBegin = i + 1;  
         
                                }//if condition
                         }   // for loop
     
        for (int j = 0; j< v.size(); j++) {
              
              System.out.println("Vector : " + v.elementAt(j));
              
              }
             
            } catch (Exception e) {System.out.println(" Error while reading file into the vector " );
                                     e.printStackTrace();} // end of try
  analizeLogs(v);
   sb = null;        
  v.clear();         

}// end of the method

Please let me know if you have any questions

Thanks for your help





Avatar of g46905

ASKER

I found whi it is not reading the first character. It is because of this particular statement.

System.out.println(" BA : " + ba.read());


I really appreciate all your help!!

Thanks again,
no worries :)