Datei(en) via Java übers Netzwerk kopieren

CrazyMetal

Mitglied
Thread Starter
Mitglied seit
21.12.2001
Beiträge
67
Moin,
ich versuche grade eine Datei via Java über Netzwerk zu kopieren.
Lokal ist das kein Problem mit RandomAccsessFile
Code:
static void kopiereDatei(){
try {
		RandomAccessFile datei = new RandomAccessFile("sn.png", "r");
		RandomAccessFile neudatei = new RandomAccessFile("sn1.png", "rw");
		try {
			while(neudatei.length()<datei.length()){
				neudatei.write(datei.read());
			}
			datei.close();
			neudatei.close();	
		} catch (IOException e) {
			e.printStackTrace();
		}
	} catch (FileNotFoundException e) {
		e.printStackTrace();
	} 
}
Währe da eine Möglichkeit via OutputStream? Ich habe schon viel gegooglet, aber nicht in der Richtung gefunden.

Schonmal Danke für mögliche Antworten.
Grüße,
Crazy
 

kahler

Mitglied
Mitglied seit
26.09.2005
Beiträge
237
Es gibt da sicherlich die verschiedensten Varianten.
Ich verstehe es wohl schon richtig, dass du einen Java Client und einen entsprechenden Server schreiben willst und diese beiden sollen dann eine Datei via Netzwerk kopieren?
Sollte das der richtige Ansatz sein, dann schau dir Mal RMI an. Das ist ein "Framework" (vielleicht etwas übertrieben), das sich um Netzwerk und verteilte Objekte in Java kümmert.
 

jpv

Mitglied
Mitglied seit
09.06.2006
Beiträge
159
Die Frage ist hier, welches Netzwerkprotokoll willst Du verwenden?

Aber Du wirst am besten mit InputStream->OutputStream arbeiten. Du könntest also eine Funktion zum kopieren gebrauchen:

public static void copy(InputStream is, OutputStream os) throws IOException {
byte[] buf = new byte[0x1000];
for (int len = is.read(buf); len >= 0; len = is.read(buf))
os.write(buf, 0, len);
}


Um eine Netzwerkverbindung herzustellen benötigst Du Klassen aus dem java.net.-Package:

java.net.Socket und java.net.ServerSocket

Diese beiden Klassen solltest Du mal suchen und genau unter die Lupe nehmen.

Gruß, jpv.
 

Sojus

Mitglied
Mitglied seit
30.05.2006
Beiträge
144
Habe mal mit so was angefangen aber es dann nie fertig gemacht.

wie man Files in einen Stream schreibt sollte aber hier noch in meinem code stehen

http://forum.giga.de/showthread.php?t=830986

Jemand hat aber noch einen Comment darüber geschrieben was sich für Probleme ergeben

mfg