Datei(en) via Java übers Netzwerk kopieren

  1. CrazyMetal

    CrazyMetal Thread Starter MacUser Mitglied

    Mitglied seit:
    21.12.2001
    Beiträge:
    65
    Zustimmungen:
    0
    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
     
    CrazyMetal, 16.01.2007
    #1
  2. kahler

    kahler MacUser Mitglied

    Mitglied seit:
    26.09.2005
    Beiträge:
    234
    Zustimmungen:
    0
    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.
     
    kahler, 16.01.2007
    #2
  3. jpv

    jpv MacUser Mitglied

    Mitglied seit:
    09.06.2006
    Beiträge:
    159
    Zustimmungen:
    10
    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.
     
    jpv, 16.01.2007
    #3
  4. Sojus

    Sojus MacUser Mitglied

    Mitglied seit:
    30.05.2006
    Beiträge:
    143
    Zustimmungen:
    3
    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
     
    Sojus, 17.01.2007
    #4
Die Seite wird geladen...
Ähnliche Themen - Datei(en) via Java
  1. iMoCo
    Antworten:
    2
    Aufrufe:
    379
    iMoCo
    07.11.2016
  2. LbbnPx
    Antworten:
    4
    Aufrufe:
    445
    Olivetti
    28.08.2016
  3. Perry_B
    Antworten:
    2
    Aufrufe:
    271
    Perry_B
    21.07.2015
  4. michael m.
    Antworten:
    3
    Aufrufe:
    516
    michael m.
    19.03.2015
  5. silentx
    Antworten:
    7
    Aufrufe:
    554
    silentx
    06.05.2012