Portal > Foren > Java > Allgemeine Java-Programmierung > Downloaden von dateien
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 03.02.2005, 16:06 Nach oben    #1
mr.no
Gast
 
Beiträge: n/a
Standard Downloaden von dateien

Hi,
ich will in einem Programm eine downloadfuntkion für updates integrieren. Die files liegen auf einem ganz normalen http server. Wie kann ich jetzt mit hilfe der url die daten übertragen und auf der platte speichern??
MFG mrno
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 03.02.2005, 17:18 Nach oben    #2
LordOfCodes
Gast
 
Beiträge: n/a
Standard

Hi

Das ist nicht allzu schwer:

Java Code:
  1. import java.net.*;
  2. import java.io.*;
  3. import java.util.*;
  4.  
  5. ...
  6.  
  7. URL u = new URL("http://localhost/file.zip");
  8. conn.setDoInput(true);
  9. InputStream in = conn.getInputStream();
  10. FileOutputStream out = new FileOutputStream(new File("file.zip"));
  11. int tmp = -1;
  12. while ( (tmp = in.read()) != -1) {
  13.     out.write(tmp);
  14. }

Ist nicht getestet, sollte so aber funktionieren.

greets
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 03.02.2005, 17:51 Nach oben    #3
mr.no
Gast
 
Beiträge: n/a
Standard

was mach ich falsch
ich bekomme die meldung

java.net.HttpURLConnection is abstract; cannot be instantiated at line 60
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 03.02.2005, 17:54 Nach oben    #4
LordOfCodes
Gast
 
Beiträge: n/a
Standard

Sorry, war etwas in eile und hab dir was falsches angegeben...

Java Code:
  1. import java.net.*;
  2. import java.io.*;
  3. import java.util.*;
  4.  
  5. ...
  6.  
  7. URL u = new URL("http://localhost/file.zip");
  8. HttpURLConnection conn = (HttpURLConnection)u.openConnection();
  9. conn.setDoInput(true);
  10. InputStream in = conn.getInputStream();
  11. FileOutputStream out = new FileOutputStream(new File("file.zip"));
  12. int tmp = -1;
  13. while ( (tmp = in.read()) != -1) {
  14.     out.write(tmp);
  15. }
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 03.02.2005, 21:51 Nach oben    #5
mr.no
Gast
 
Beiträge: n/a
Standard

Gibt es eine möglichkeit das ich die größe der datei rausfinden kann die auf dem server liegt??
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 04.02.2005, 07:58 Nach oben    #6
LordOfCodes
Gast
 
Beiträge: n/a
Standard

Java Code:
  1. int laenge = conn.getContentLength();
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 04.02.2005, 11:35 Nach oben    #7
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.512
Standard

wenn du noch weitere funktionalitäten der klasse verwenden möchtest, dann schau mal hier rein:
http://java.sun.com/j2se/1.5.0/docs/...onnection.html

da findest du alle, in dieser klasse zur verfügung stehenden, methoden.

ist dir die API bekannt und vor allem auch der umgang mit ihr? wenn nicht, dann sag das. dann erkläre ich oder irgendwer anders kurz, wie man mit ihr umgeht.

bei problemen mit der englischen sprache - was ja sein kann - empfehle ich dir:
http://dict.leo.org/

grüße ben.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.02.2005, 01:10 Nach oben    #8
mr.no
Gast
 
Beiträge: n/a
Standard

Zitat:
st dir die API bekannt und vor allem auch der umgang mit ihr? wenn nicht, dann sag das. dann erkläre ich oder irgendwer anders kurz, wie man mit ihr umgeht.
Wäre net wenn einer von euch mir das erklären könnte. Bin ein richtiger noob in solcher hinsicht.
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.02.2005, 09:26 Nach oben    #9
LordOfCodes
Gast
 
Beiträge: n/a
Standard

Also wie du sicher weisst, arbeitet man in Java mit packages, um eine Menge von Java-Klassen zu ordnen.
Die Standard-Klassen der Java-Runtime sind genau so aufgebaut.
Eine schöne Übersicht mit Beschreibung gibt es unter Galileo Openbook Java ist auch eine Insel
Die Klassen sind also nach Funktionalität und Verwendung gegliedert.
Und genau diese kannst du dann auch in deinem Programm verwenden. Natürlich musst du dem Compiler zuerst angeben, wo er nach den Klassen suchen musst. Genau dafür sind die
import-statements, also z.B.:
Java Code:
  1. import java.util.StringTokenizer;
  2. //oder
  3. import java.util.*;
Wenn du aber über eine Klasse genauere Informationen willst, z.B. welche Methoden sie besitzt, ob du von ihr erben kannst usw. musst du eben in der Java-Doc nachsehen.
Diese gibt es unter Sun Java Documentation.
Viel schneller findest du aber eine Klasse mit Google:
Bei Google einfach immer "java class " und dann den Klassennamen eingeben, z.B.
"java class StringBuffer"
(Bei Firefox kannst du sogar in der Adressliste "java class StringBuffer" eingeben. Das leitet dich dann automatisch zu google.. Finde ich sehr praktisch).
Das erste Suchergebnis führt dich direkt auf die Javadoc der Klasse java.lang.StringBuffer.
Alle Links die auf dieser Seite zu sehen sind, führen dich zu weitern Klassen, die entweder Subklassen, Superklassen oder verwendete Klassen sind.
Du kannst auch ganz oben auf der Seite auf "Package" klicken, um alle Klassen im Package java.lang anzusehen.
Natülich kannst du auch eine Javadoc deines eigenen Projekts generieren. Ein gutes Tutorial hier: Tutorial 1 (Deutsch) , Tutorial 2 (Englisch)

Ich hoffe, das hilft dir weiter. Sonst einfach fragen.

Greets
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.02.2005, 10:47 Nach oben    #10
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.512
Standard

die API ist in dann hilfreich, wenn man z.b. funktionalitäten sucht.
also, welche methoden kann man aufrufen, wenn man ein objekt der klasse JFrame hat. so als beispiel.

in den meisten IDEs werden ja mögliche methoden per "tooltip" angezeigt, aber das ist eigentlich nicht so wirklich das, was man haben möchte.

eine auflistung der verfügbaren methoden erhälst du dann z.b. hier:
http://java.sun.com/j2se/1.3/docs/ap...ng/JFrame.html

-----
btw:
@lord:
guter tipp mit google. hab ich noch nicht gewusst super.
----

beachte, dass ganz oben angezeigt wird, wie JFrame in die paketstruktur reinpasst. am besten lernt man es, wenn man einfach mal so ein schema erstellt, wie z.b. die swing-komponenten in zusammenhang stehen.

also ganz oben component, darunter container etc.
ich habe da irgendwo ein bild. wenn ich das finde lade ich das mal hoch, dann weißt du eventuell besser was ich meine.

bis dann.

grüße ben.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.02.2005, 17:00 Nach oben    #11
mr.no
Gast
 
Beiträge: n/a
Standard

thx für eure hilfe. hat mich echt weiter gebracht
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 10.02.2005, 12:55 Nach oben    #12
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.512
Standard

Hallo,

@LordOfCodes:
wäre nett, wenn Du hier nochmal drüber schauen könntest:
http://www.php-info.org/ftopic88.html
und mir genehmigst diesen Beitrag in die FAQ mit aufzunehmen.

Ich hoffe, dass ich es richtig und detailiert genug *g* beschrieben habe.

btw:
so sehen dann die FAQ-Beiträge aus, die aus dem Forum hier kommen

Geändert von Jann Hendrik (05.06.2007 um 09:19 Uhr) Grund: php-info.org - link entfernt.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.02.2005, 07:30 Nach oben    #13
LordOfCodes
Gast
 
Beiträge: n/a
Standard

Hey, guter Beitrag!
Habs nur kurz überflogen, sieht aber ganz gut aus. Du hast auf jeden Fall mein OK.

Übrigens: Alles was ich hier im Forum poste kann ohne Rückfrage verwendet werden. Ich poste also sozusagen "open source"
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.02.2005, 07:55 Nach oben    #14
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.512
Standard

okay. ich persönlich war verwundert wie einfach das doch geht. *g* .. hätte ich mir schwerer vorgestellt. aber im endeffekt:

http-verbindung zu einer URL öffnen per inputstream bytes lesen per outputstream bytes auf die platte schreiben. fertig.

klasse
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
EasyEclipse zeigt keine Tasks/Problems aus Dateien mehr an robo47 Eclipse 6 02.09.2007 04:44
Dateien aus SVN 1 auschecken, in SVN 2 einchecken, keine eigenen Änderungen vorhanden Ben Tools, Server, Betriebssysteme 2 21.03.2007 18:53
Cache leeren um mit file Dateien zu durchsuchen Tryzero PHP-Programmierung 12 12.03.2007 10:13
[PHP] FTP-Funktionen in PHP nutzen MrNiceGuy Tutorials 0 24.05.2006 14:18
Oracle Express Edition downloaden pago Datenbanken 4 14.04.2006 20:24


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:43 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45