1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

ByteReader/StreamReader usw..

  • sommeralex
  • 7. Februar 2007 um 10:26
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • sommeralex
    Punkte
    1.325
    Beiträge
    188
    • 7. Februar 2007 um 10:26
    • #1

    Guten Morgen...

    Ich hab ein Connection Objekt, welches mir eine (funktionierende) Verbindung herstellt. Nun kann man über das Connection Objekt unterschiedliche Typen initialisieren:

    connection.openInputStream();
    connection.openInputStreamReader();
    connection.openDataInputStream();

    theorie: darf man über ein Connection Objekt mehrere Typen initialisieren? Also sowohl openInputStream + openInputStreamReader bzw DataInputStream?

    Meine Verbindung funktioniert über DataInputStream, wenn ich aber zum "mischen" anfange, gibts ein durcheinander.

  • a9bejo
    Punkte
    4.697
    Beiträge
    913
    • 7. Februar 2007 um 11:30
    • #2

    Hallo

    Kannst du noch dazu sagen um was fuer eine Connection es sich bei Deinem Problem handelt?

    Hab gerade mal in der StandardAPI (1.6) geschaut und die Interfaces java.sql.Connection, java.net.UrlConnection, javax.management.MBeanServerConnection besitzen die von dir angegebenen methoden nicht.


    Meine Annahme ist derzeit, das jede der 3 methoden eine neue Instanz von einem java.io.DataInputStream erstellt.

    d.h. open openInputStream() ist dann einfach nur ein downcast:

    Code
    public InputStream openInputStream(){
      return this.openDataInputStream();
    }

    und openInputStreamReader() ist ein Wrapper:

    Code
    public InputStreamReader openInputStreamReader(){
      return new InputStreamReader(this.openDataInputStream());
    }

    D.h. ob du einen InputStreamReader zusammen mit einem InputStream oeffnest oder stattdessen zwei InputStreamReader sollte egal sein, weil eh immer ein DataInputStream dahintersteckt.

    Das die Methoden "open..." und nicht "get..." heissen laesst darauf schliessen, das wirklich bei jedem Aufruf immer ein neuer Stream instanziert wird.

    Wenn Du jetzt zwei Streams zu demselben Objekt aufmachst, ist es meiner Meinung nach von der Quelle abhaengig was dann passiert. D.h. vielleicht darf immer nur ein Stream offen sein, vielleicht laufen dann einfach zwei parrallel oder vielleicht bekommst du sogar beim zweiten Aufruf den selben stream zurueck wie beim ersten. Eventuell ist auch in der Spezifikation von deinem Connection objekt festgelegt, wie sich diese methoden zu verhalten haben.

    Aber wie schon gesagt, das kommt ganz darauf an was fuer eine Connection das ist bzw. wie sie spezifiziert ist.

  • sommeralex
    Punkte
    1.325
    Beiträge
    188
    • 8. Februar 2007 um 11:04
    • #3

    es handelt sich um j2me..

  • Maximilian Rupp 27. Dezember 2024 um 12:05

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum