OutputStream via POST senden

Sekundentakt

Bekanntes Mitglied
Hallo,

mein Ziel ist, eine CSV-Datei zu downloaden, zu überprüfen, ob sie valide ist und sie dann an eine URL zu schicken.

Wenn die CSV-Datei sehr groß ist, müsste ich sie erst auf Platte schreiben, bevor ich sie an eine weitere URL schicke (die Datei würde via POST-Methode übertragen werden). Andernfalls gäbe es eine Heap-Exception.

Jetzt ziehe ich aber folgende Überlegungen in Betracht: kann ich auch einen OutputStream via Post schicken? Das würde bedeuten, die Ziel-URL erhält nicht alles auf einmal.

Alternativ habe ich überlegt, den Input-Stream der Datei in kleinere Stücke zu zerhacken.
Ich warte, bis der Input-Stream eine Größe X erreicht hat, verwandle den Inhalt via StringBuilder in einen String und sende kleinere CSV-Dateien an die Ziel-URL.
Dadurch erspare ich mir die Arbeit auf der Festplatte.

Bevor ich das Kleinhacken aber beginne, will ich erst mal wissen, ob man nicht auch streamen kann und wenn ja, wie dort die Beispiele aussehen.

Alternative Ansätze zum skalierbaren versenden von Daten sind gerne gesehen!

Danke!

Beste Grüße
 
S

SlaterB

Gast
Alternativen zu was denn? du verrätst in keinem Wort, um was genau es geht,
'etwas an eine URL senden' ist kein Fachbegriff in Java

verwendest du
URLConnection (Java Platform SE 6)
und ähnliche? wie setzt du dort bisher den String?

dort gibt es getOutputStream(), darin kann man streamisiert Daten übergeben, entweder direkt Bytes für Bytes aus einem Netzwerk-InputStream gelesen oder von einer Datei oder von den kompletten Daten im Hauptspeicher
 

Sekundentakt

Bekanntes Mitglied
Okay, ein paar mehr Details:

Ich nutze den Apache Commons Http Client.

In beiden nachfolgend beschriebenen Fällen, hole ich mir via PostMethod über die Entity des Responses die Datei, die ich herunterladen will.

Möglichkeit a) Ich schreibe die heruntergeladene Datei auf Platte. Dann lade ich nicht die Datei hoch, sondern eine URL zur Datei. Das heißt ich schicke via PostMethod den Parameter fileUrl + url mit.

Möglichkeit b) via getResponseBodyAsStream() lese ich x Zeilen des Responses (der CSV) ein, bündle diese via StringBuilder zu einem String und sende diesen via PostMethod an eine URL zum weiterverarbeiten (ja, die dahinterstehende Applikation nimmt die CSV-Datei entweder als POST-Value oder als URL entgegen. Im zweiten Falle würde sie die Datei selbst laden).

Bei Möglichkeit b) brauche ich die Festplatte nicht belasten, daher favorisiere ich diese bisher.

Noch besser wäre allerdings noch die Umsetzung als Stream.

Also das die PostMethod zur Ziel-Url keinen zusammengeschnittenen CSV-String verschickt, sondern die gesamte Datei streamt. EDIT: Fast hätte ich es vergessen. Bei dieser dritten Möglichkeit fehlt mir der Ansatz. Ich weiß nicht, wie ich das umsetzen soll.

Ich hoffe, dass war jetzt etwas verständlicher?
 
S

SlaterB

Gast
zu HTTPClient kann ich persönlich noch weniger sagen, aber Stream wird es dort doch auch geben,
eine direkte google-Suche führte zu
HttpClient - HttpClient Performance Optimization Guide

siehe da das Beispiel mit
Java:
File myfile = new File("myfile.txt");
PostMethod httppost = new PostMethod("/stuff");
httppost.setRequestEntity(new FileRequestEntity(myfile));
dort wird ein Stream verwendet, statt File gehen auch andere Streams
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Mal ein paar generelle Fragen zu InputStream und OutputStream Allgemeine Java-Themen 4
T Input und Outputstream , serielle Schnittstelle Allgemeine Java-Themen 1
Meeresgott Input/Output OutputStream löscht Datei Allgemeine Java-Themen 7
F Jar OutputStream Allgemeine Java-Themen 4
T Outputstream write() gets blocked using RXTX to communicate with HC-05 BT Module Allgemeine Java-Themen 10
D Java Process OutputStream ist null Allgemeine Java-Themen 4
P Input/Output Process.getErrorStream = OutputStream Allgemeine Java-Themen 11
G Auf Kommandozeile über Processobjekt mit Outputstream Allgemeine Java-Themen 3
M rxtx OutputStream sendet falsche werte Allgemeine Java-Themen 3
L Abspeichern von OutputStream Allgemeine Java-Themen 6
E Outputstream an verschiedenen Positionen beschreiben Allgemeine Java-Themen 4
A Eigenen OutputStream schreiben und verwenden Allgemeine Java-Themen 9
D zip Dateien schreiben mit in/outputstream Allgemeine Java-Themen 10
T OutputStream to InputStream Allgemeine Java-Themen 8
W StringBuilder effektiv auf OutputStream schreiben Allgemeine Java-Themen 3
Landei CipherInput/OutputStream-Problem Allgemeine Java-Themen 2
S von OutputStream in InputStream schreiben ohne das es blockiert..? Allgemeine Java-Themen 2
G Double Wert über OutputStream verschicken Allgemeine Java-Themen 2
S outputstream über fileUrl Allgemeine Java-Themen 15
L Problem mit dem OutputStream eines Prozesses Allgemeine Java-Themen 9
G OutputStream to System.out Allgemeine Java-Themen 35
I input-/outputstream Allgemeine Java-Themen 6
Junktyz In Writer und Outputstream wird teilweise nicht geschrieben Allgemeine Java-Themen 3
reibi FileOutputStream aus OutputStream erstellen Allgemeine Java-Themen 7
H Problem mit OutputStream Allgemeine Java-Themen 5
T OutputStream - Prozente ermitteln Allgemeine Java-Themen 3
T OutputStream - Event bei Byte-Fluss Allgemeine Java-Themen 5
A Inputstream in Outputstream umleiten Allgemeine Java-Themen 7
D Cipher(In)OutputStream Allgemeine Java-Themen 3
R Ladebalken für einen Outputstream. Allgemeine Java-Themen 10
J Binärdateien mit Input/Outputstream lesen und schreiben Allgemeine Java-Themen 3
m@nu Schreibschutz entfernen und OutputStream öffnen Allgemeine Java-Themen 6
T Problem mit Outputstream? Allgemeine Java-Themen 2
G Json POST-REQUEST Allgemeine Java-Themen 14
M Maven Deutsche Post API implementieren Allgemeine Java-Themen 2
P REST- Services GET/PUT/POST/DELETE Allgemeine Java-Themen 6
J Post: #1could not create the java virtual machine etc Allgemeine Java-Themen 6
J Übergabe von post request Parametern Allgemeine Java-Themen 9
S http POST überwachen Allgemeine Java-Themen 2
dayaftereh HttpClient Post, Get Cookie Allgemeine Java-Themen 1
P POST Problem Allgemeine Java-Themen 5
A POST Allgemeine Java-Themen 6
J httpclient: Post-method aber trotzdem "URI to long&quot Allgemeine Java-Themen 4
thE_29 CGI Seite + Post Methoden Allgemeine Java-Themen 2
P URL mit POST variablen aufrufen Allgemeine Java-Themen 5
P Post-Parameter übergeben Allgemeine Java-Themen 3
N Servlets: Formulardaten auslesen (POST) - mehr Informationen Allgemeine Java-Themen 4
A Formular POST übergabe an Servlet Allgemeine Java-Themen 4
Z E-Mail senden Allgemeine Java-Themen 2
torresbig Url nach Webseiten-Login auslesen & Daten an Webseite senden Allgemeine Java-Themen 9
TimEtech Email senden - web.de ; Fehlercode Allgemeine Java-Themen 2
Master3000 Dateien zwischen verschiedenen Netzwerken senden Allgemeine Java-Themen 17
G Datei senden via Xmodem an Serial-Port Allgemeine Java-Themen 35
P XML Dokumente von JDOM an ein WebService senden! Allgemeine Java-Themen 2
Joker4632 Methoden Befehl an bereits extern geöffnete Programm-spezifische Konsole senden Allgemeine Java-Themen 1
Q Selbständig ActionEvent auslösen zum Daten senden über serielle Schnittstelle Allgemeine Java-Themen 7
R Android Daten online senden Allgemeine Java-Themen 0
KeVoZ_ Java Mail senden - geht nicht Allgemeine Java-Themen 4
K Input/Output E-mail Zusammenfassen Senden Allgemeine Java-Themen 2
OnDemand JavaMail ohne Anhang senden Allgemeine Java-Themen 4
T Strings über Bluetooth zwischen PC,µc oder Samrtphone senden und empfangen Allgemeine Java-Themen 0
W Thread sleep 30 sekunden - wenn keine Antwort bis dahin neu senden Allgemeine Java-Themen 2
G String an Arduino senden NullPointerException in PrintWriter Allgemeine Java-Themen 6
O SMS senden in Java mit SIM-Karte Allgemeine Java-Themen 5
C Input/Output Zip Files über Socket senden und empfangen Allgemeine Java-Themen 6
O Serial Port Daten als Tastaturanschlag senden Allgemeine Java-Themen 0
A Tastendruck an Firefox senden Allgemeine Java-Themen 7
F E-Mail aus JAVA senden nach Umstellung auf Netbean 7.4 mit Java 7U45 nicht mehr möglich Allgemeine Java-Themen 4
H ESC/POS Steuerzeichen an Drucker senden Allgemeine Java-Themen 4
GUI-Programmer JavaMail - Anhang hochladen vor senden der Nachricht Allgemeine Java-Themen 4
C Datei kodiert zu Webservice senden Allgemeine Java-Themen 9
R Dateien vom Windows-Explorer zum Programm senden Allgemeine Java-Themen 21
J String an Port senden Allgemeine Java-Themen 2
M Antwort auf Outlook-Besprechungsanfrage per Java senden Allgemeine Java-Themen 5
M [Java Mail] Multipart beim Senden funktioniert nicht. Allgemeine Java-Themen 11
D Fax senden mit Faxgerät über LAN Allgemeine Java-Themen 3
W mail senden mit java Allgemeine Java-Themen 4
Developer_X Email per Java senden Allgemeine Java-Themen 81
M String an externen Prozess senden/auslesen Allgemeine Java-Themen 25
G Javamail Nachricht senden: Betreff und Header fehlen Allgemeine Java-Themen 4
S Process - Befehle senden Allgemeine Java-Themen 13
G Anfrage senden. Allgemeine Java-Themen 3
N CMD, EXEC, Befehle senden Allgemeine Java-Themen 3
B Html Formulare mittels Java automatisch senden Allgemeine Java-Themen 5
R Nachrichten an laufendes Programm senden Allgemeine Java-Themen 4
G Tastaturbefehl mit Java ins System senden. Allgemeine Java-Themen 3
R Header per Java senden Allgemeine Java-Themen 6
G html-code an drucker senden Allgemeine Java-Themen 10
B Thread soll auf Event warten, dann Daten an Klasse senden Allgemeine Java-Themen 2
G TCP/IP String senden Allgemeine Java-Themen 11
S String an COM-Schnittstelle senden Allgemeine Java-Themen 6
S mails senden? Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben