Datei per Socket versenden

servus,
und zwar ich habe folgendes problem,
ich versuche ein java bzw. 2 java programme zu schreiben wobei das eine als server und das andre als client dient und die beiden werden über ein socket vebunden. und nun wenn der client dem server den befehl "download" und den pfad schickt so sollte der server dem client die angeforderte datei(bsp. "text.txt") schicken. Die Befehls übergabe und der socket funzen auch schon aber eben dass mit der Datei nicht. Ich hab schon was von der serialisierung gelesen jedoch hab ich keine ahnung wie diese funktioniert.
Nur stellt sich jetzt die frage was für einen stream muss ich benutzen?
Wie kann ich die Datei in das Programm einlesen/versenden und was für einen Dateityp muss ich verwenden?
und wie kann ich die datei dann auf dem client speicher?
wäre euch unendlich dankbar wenn ihr mir helfen könntet

gruß virus
 
yo schonmal danke aber das is noch net genau das was ich suche
es müsste doch normalerweise einfach eine möglichkeit geben ein file in einen string einzubinden und diesen dann zu verschicken und am andern ende das file abzuspeichern
ohne dass man dafür 200 zeilen braucht?

gruß virus
 
Google nach "FileInputStream" bzw. FileOutputStream.
Einfach aus einem FileInputStream lesen und auf den Output-Stream des Sockets schreiben (als Sender, der Empfänger machts entsprechend andersrum).
 
Also, in Java mußt Du immer damit rechnen, daß aus einem Ein-Zeiler (in C++ oder PHP z.B.) ein Drei-bis Fünfzeiler wird, aber ansonsten braucht man zum Verschicken von Daten übers Netz nichts weiter zu beachten. Man KANN ohne weiteres Binärdaten übertragen. Beschränkungen von Zeichensätzen gibt es nur für genau jene Protokolle, die explizit textorientiert sind und eben als solche gewisse Sonderzeicheninterpretationen mitbringen, die mitunter auch auf Routern unterwegs ausgewertet werden.

Bei eigenen Socket-Verbindungen ist das alles aber Schnurz.
Es gibt auch die Möglichkeit, Daten auf der ganz unteren Ebene mit "read"/"write" zu übertragen statt als Strings über gepufferte Streams oder dergleichen. Allerdings ist letzteres für die sich anschließenden Funktionen drumherum auf beiden Seiten bequemer.
 
Zurück
Oben