tutorials.de Buch-Aktion 05/2012
Like Tree2Danke
  • 1 Beitrag von Fabio Hellmann
  • 1 Beitrag von SE
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
400
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Nimmer Nimmer ist offline Mitglied
    Registriert seit
    Nov 2010
    Beiträge
    11
    Hallo zusammen,

    vor kurzem habe ich ein kleines Programm geschrieben das eine Datei aus dem Internet, auf meinem Rechner speichert. Der Code sah so ähnlich aus wie dieser hier:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    URL url = new URL("http://foo.bar");
    InputStream is = url.openStream();
    File out = new File("foo.bar");
    FileOutputStream fos = new FileOutputStream(out);
    int oneChar;
    while ((oneChar=is.read()) != -1)
    {
        fos.write(oneChar);
    }
    is.close();
    fos.close();

    Meine Frage ist jetzt, ob es eine Möglichkeit gibt, den selben Stream zu verwenden um eine andere Datei herunter zu laden. Also die URL zum Beispiel auf "http://foo2.bar" zu ändern. Die gleiche Frage interessiert mich auch im Bezug auf den OutputStream, kann ich ihm sagen, dass er in eine andere Datei schreiben soll?

    Schon mal vielen Dank im Voraus.
    Nimmer
     

  2. #2
    Avatar von Fabio Hellmann
    Fabio Hellmann Fabio Hellmann ist gerade online Mitglied Brokat
    Registriert seit
    Aug 2011
    Ort
    München
    Beiträge
    494
    Hi,

    also meines erachtens nach geht das nicht. Du musst für jede Datei einen neuen Stream, sowohl Input- als auch Output-Stream, öffnen. Warum willst du denn auch alles über einen In-/Outputstream machen?

    Gruß

    Fabio
    Nimmer bedankt sich. 
    Bitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]

    Tutorials:
    Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
    JAnimationPanel - Animationen für Swing/AWT
    SWTRatingBar (Bewertungs-Composite) selbst programmieren
    ____________________________________________________________________________
    Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.

  3. #3
    SE Tutorials.de Gastzugang
    Laut HTTP/1.1 Spezifikation ist es durchaus möglich EINE Verbindung für eine Reihe von Daten zu verwenden ... aber das ist ein ganz schön kompliziertes Thema und wird noch lange nicht von jedem Server unterstützt.

    btw : bei HTTP-Daten IMMER URL.getConnection() verwenden und die erhaltene URLConnection mit instanceof HttpURLConnection checken. Bei einer einfach Stream-Connection kann es schnell zu Problemen kommen.
     

  4. #4
    Nimmer Nimmer ist offline Mitglied
    Registriert seit
    Nov 2010
    Beiträge
    11
    Meine Güte, ihr seid vielleicht schnell!

    Schonmal danke für eure Antworten.
    @Fabio: Bisher habe ich mich noch nicht so sehr mit dem Thema beschäftigt, und bei der Suche im Internet bin ich immer auf Streams gestoßen, daher dachte ich es wäre das übliche Vorgehen.
     

  5. #5
    SE Tutorials.de Gastzugang
    Ja ... das ist schon richtig das sowas im Endeffekt über Streams geht ... allerdings sollte man Vorhandenes nicht ignorieren um es sich nicht unnötig kompliziert zu machen.
    Wir hatten erst vor kurzem etwas ähnliches bei dem der User auch nur openStream() verwendete. Das Problem war jedoch das der von ihm gewählte Dienst einen User-Agent erwartete ... den man so nicht setzen kann. Eine HttpURLConnection macht sowas baer möglich. Auch kannst du damit z.B. Session-Cookie abfragen und setzen ...
    Alles in Allem ist sowas dann doch einfacher als alles RAW mit Streams zu machen.
    Nimmer bedankt sich. 

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 25.08.10, 19:13
  2. Eingabe in der timeline: "time*100" - bei Effekt "turbulentes Versetzen"-"Evolution"
    Von MTMonline im Forum Videoschnitt, Videotechnik & -produktion
    Antworten: 2
    Letzter Beitrag: 25.04.08, 09:49
  3. Finder methods + JBoss + Was expecting one of: "CONCAT" "SUBSTRING" ... "(" ... <STRI
    Von cengizhdde im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 6
    Letzter Beitrag: 27.05.05, 15:29
  4. "Scale Mode" eines "Image" Steuerelements ändern
    Von daDom im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 24.04.04, 01:45
  5. meldung "unsecure items ..usw" bei ändern eines frames
    Von Rios im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 29.01.04, 09:18

Stichworte