# frage zu streams



## Ela (14. Mrz 2004)

hi leute. hab mal ne grundsätzliche frage zu den streams. in meinem kleinen ftp-client sollen halt daten an den server geschickt und die antworten dann auch gelesen werden können.

das sieht (gekürzt) ungefähr so aus:


```
PrintStream pout=null;
         DataInputStream din=null;

try
      {
        
         InetSocketAddress adresse=new InetSocketAddress(iptocheck, 21);
        socket.connect(adresse, 3000);
      }
      catch (UnknownHostException uhe)
      {
         System.out.println("Unknown Host");
      }
      catch (IOException ioe)
      {
         fehler=true;
         System.out.println("connection timed out ...");

      }

      try
          {
              pout = new PrintStream (socket.getOutputStream());
          }
          catch (IOException ioe)
          {
               fehler=true;
	      
          }
      


        
          try
          {
             din = new DataInputStream(socket.getInputStream());
          }
          catch (IOException ioe)
          {
             
	     fehler=true;
	     
          }


          
          String message;
          try
          {
             message=din.readLine();
             pout.println ("USER username");
             message=din.readLine();
             pout.println("PASS password");
             System.out.println(din.readLine());
          }
          catch (IOException ioe)
          { 
             System.out.println("IO Exception");
	     fehler=true;
	     
          }
```

meine frage bezieht sich nun auf diesen teil hier: 
	
	
	
	





```
message=din.readLine();
```
was wird da eigentlich gelesen? immer nur eine zeile oder wie soll man sich das vorstellen? mal angenommen da kommt so ein bannertext, wie das bei ftp-servern oft ist 
"welcome bla bla
ftp service bla bla
bla bla bla"

wird das alles in den string message geschrieben? oder wie soll man sich das vorstellen?

sorry, für solche "anfängerfragen" aber ich muss mir das immer irgendwie genau vorstellen können, wie das abläuft ehe ich das ganz verstehen kann ...

würde mich sehr freuen, wenn mir hierbei jemand helfen könnte.
vielen dank schonmal.

mfg,
ela.


----------



## Beni (14. Mrz 2004)

Für Fragen muss man sich nicht entschuldigen (naja, es soll Ausnahmen geben...)

Aber für diese Fragee gibt es die API, die jede Methode einzeln erklärt. http://java.sun.com/j2se/1.4.2/docs/api/java/io/DataInputStream.html#readLine()
(folge dem "specified by", wenn du mehr Infos haben willst)

P.S. und da steht auch gleich, dass du diese Methode nicht verwenden solltest :wink:

mfg Beni


----------



## Ela (14. Mrz 2004)

wiedermal ein mega-großes dankeschön für die hilfe 
jetzt weiß ich mehr .. hehe
und werde auch den bufferedreader benutzen  thanx.

edit: doch noch eine frage, und zwar: wenn jetzt die erste zeile gelesen wurde, und mal angenommen ich lese das net weiter sondern schicke einen neuen befehl rüber und dann  kommt ja ne antwort zurück. dann ist der rest der alten antwort doch weg oder?  hab ich doch richtig verstanden oder?

mfg,
ela.


----------

