ich habe hier eine Url in deinem string und würde gerne die Datei mittels Java downloaden und auf einem Server speichern lassen.
Ist das mit Java überhaupt möglich ?
Mir geht es eigendlich erstmal nur um das downloaden der datei. Hab irgendwie nix brauchbares gefunden, gibt zwar ne Klasse URL und die methode getFile aber da bekomm ich ja nur die endung zurückgeliefert, also zb. sowas: /java/faq/index.html?key=val
was dabei auch eine rolle spielen könnte ist das es sich nicht direkt um einen Dateidownload handelt, also wenn ich in meinem Browser die Url eingebe zeigt er mir die .pdf datei an. Runterladen kann ich die nur mit Rechsklick >> Ziel speichern unter ...
mhh das klingt mir aber eher so als wenn ich damit nur den inhalt der Datei auslesen kann.
Brauche aber die datei selber. Oder hab ich da was falsch verstanden :bahnhof:
mhh das klingt mir aber eher so als wenn ich damit nur den inhalt der Datei auslesen kann.
Brauche aber die datei selber. Oder hab ich da was falsch verstanden :bahnhof:
ohman ne dann mach ich das wohl doch lieber von hand ^^
ist ne pdf datei, mit bildern und ner tabelle, wie ich das da ausgelesen bekomme will ich mal sehen :lol:
wenn das nach dieser Methode funktionieren soll, wieso klappt das dann nicht, wenn ich ein Bild im Editor öffne, den ganzen nicht leserlichen Kram rauskopiere, und in eine neue Datei einfüge und sie BildKopie.jpg nenne?
Das liegt wahrscheinlich am Editor, der wurde eben auf Textzeichen ausgelegt, weiss der Geier was er aus Zeichen macht die er nicht versteht. Fakt ist, wenn du eine Datei Byte für Byte kopierst, dann hast du genau die gleiche Datei wieder. Das ist gar nicht schwer, ich denke das Programm kann man in 5 Zeilen schreiben wenn du kein GUI willst.
Ich hab das Programm jetzt geschrieben, es funktioniert aber nur ansatzweise....
Also ich hab erstmal dafür gesorgt, dass vom Internet-Dateipfad der name genommen wird und ein neues File mit diesem Namen im Output-Directory erzeugt wird.
Dann läuft dieser Code:
Code:
try
{
InputStream streamIn = this.urltoFile.openStream();
FileOutputStream streamOut = new FileOutputStream(this.download,true);
int imp = streamIn.available();
int count = 0;
while(count < imp)
{
byte i = (byte) streamIn.read();
streamOut.write(i);
count++;
}
streamIn.close();
streamOut.close();
}
catch (Exception e)
{
//Fehlerbehandlung
}
Manchmal fängt er garnicht erst an zu laden, oder es kommt nur Müll bei rum. Einmal hat es aber auch schon fast geklappt. Ich weiß nicht ob ich die Schleife zu früh abbrechen lasse oder so.....
Ich bin jetzt so weit, dass es mit dem Downloaden klappt. Leider habe ich aber immer 100% CPU-Auslastung während jedem Download. Ich verstehe nicht warum. Guckt mal bitte:
public void downloaden()
{
try
{
this.download.createNewFile();
InputStream streamIn = this.urltoFile.openStream();
FileOutputStream streamOut = new FileOutputStream(this.download,true);
int imp = 0;