Tuesday, November 08, 2005

String <-> InputStream

In questi giorni mi sono concentrato sugli Stream, ma ho ancora qualche difficoltà a gestirli efficientemente. In particolare qualora questi non supportano il reset.

Cercando un po' di informazioni in internet mi sono trovato davanti a del codice che implementa una cosa che non ero mai riuscito a fare in modo efficiente (se non utilizzando classi deprecate).

Conversione da InputStream a String:
  public String parseISToString(java.io.InputStream is){
java.io.DataInputStream din = new java.io.DataInputStream(is);
StringBuffer sb = new StringBuffer();
try{
String line = null;
while((line=din.readLine()) != null){
sb.append(line+"\n");
}
}catch(Exception ex){
ex.getMessage();
}finally{
try{
is.close();
}catch(Exception ex){}
}
return sb.toString();
}


Conversione da String ad InputStream:

  public java.io.InputStream parseStringToIS(String str){
if(str==null) return null;
str = str.trim();
java.io.InputStream in = null;
try{
in = new java.io.ByteArrayInputStream(str.getBytes("UTF-8"));
}catch(Exception ex){}
return in;
}

Commenti sulla qualità di queste due funzioni? Alternative migliori?

2 comments:

Anonymous said...

Bravo!

El Pacho said...

Grandissimo!