codice:
class stream{
public static void main(String[] args){
BufferedInputStream bis=new BufferedInputStream(System.in);
BufferedOutputStream bos=new BufferedOutputStream(System.out);
DataInputStream dis=new DataInputStream(bis);
DataOutputStream dos=new DataOutputStream(bos);
int dim=5;
byte[] b=new byte[dim];
int n;
String stringa=new String();
try{
System.out.print("Inserisci stringa: ");
//dis.readLine();
stringa=dis.readLine();
System.out.println(stringa);
System.out.print("SCRIVI QUALCOSA(EOF per uscire dal while):");
while((n=dis.read())!=-1){
dos.write(n);
//bos.println(n) non lo prende??
bos.flush();
}
System.out.print("Inserire dati nel buffer: ");
dis.readFully(b, 0, dim);
System.out.print("buffer riempito fino a " + dim + " caratteri con readFully: ");
dos.write(b);
bos.flush();
}
catch(Exception e){
System.out.println(e);
}
finally{/*niente*/}
/*--------------------------------------------------------------*/
}
}
penso di fare un po di confusione con le flush credo perche se sposto il primo "inserisci stringa(le 4 righe), alla fine, cioè dopo l'ultima flush, non funziona. O meglio funziona solo se decommento la dis.readLine(). qualche idea? grazie anticipatamente
ps: le flush le devo chiamare sul buffered output stream o sul data output stream?