Die Codekopie lautet wie folgt:
Paket com.hongyuan.test;
Import Java.io.file;
importieren java.io.fileoutputStream;
importieren java.io.ioException;
importieren java.io.inputstream;
importieren java.io.outputstream;
importieren java.net.httpurlConnection;
importieren java.net.malformeDurlexception;
importieren java.net.url;
importieren java.net.urdecoder;
öffentliche Klassenverzögerung {
public static final String local_path = "d:/";
public static void main (String [] args) {
// Dateiadresse, die heruntergeladen werden soll
Saite fileUrl = "http://211.162.55.16/cdn.baidupcs.com/file/6a73dab7c03023a9835cc73 826-250528-130564002 & Zeit = 1397293108 & sign = fdtaxer-dcb740ccc5511e5e8FedCFF06B08120 3-mQkOeRDtXpyQWwYJkI%2BxKJpxn5k%3D&to=cb&fm=N,B,U,nc&newver=1&expires=1397297563&rt=sh&r=854979042&logid=1751715936&sh=1&vuk=3255571826&fn=Web%E7%A8%8B%E5%BA%8F%E8%AE% %E8%AE%A1%20%E7%AC%AC5%E7%89%88.PDF & WSHC_TAG = 0 & WSIPHOST = IPDBM ";
InputStream in = null;
OutputStream out = null;
HttpurlConnection conn = null;
String Dateiname = null;
versuchen {
// Initialisieren Sie die Verbindung
URL URL = neue URL (FileURL);
conn = (httpurlConnection) url.openconnection ();
Conn.SetDoInput (true);
conn.setDooutput (true);
// Dateinamen abrufen
String Disposition = Conn.GetheaDerfield ("Inhaltsdisposition");
if (Disposition! = null &&! "". Equals (Disposition)) {
// Dateinamen von Anfang an abrufen
Dateiname = Disposition.Split (";") [1] .Split ("=") [1] .Replaceall ("/" "," ");
}anders{
// Dateinamen von der Adresse abrufen
fileName = fileurl.substring (FileUrl.lastindexof ("/")+1);
}
if (Dateiname! = NULL &&! "". Equals (Dateiname)) {
// den Dateinamen dekodieren
fileName = urdecoder.decode (Dateiname, "utf-8");
}anders{
// Wenn der Dateiname nicht abgerufen werden kann, wird eine zufällige Generation generiert
Dateiname = "Datei _"+(int) (math.random ()*10);
}
// Daten lesen
if (conn.getResponSCode () == httpurlConnection.http_ok) {
byte [] buffer = neues byte [2048];
in = conn.getInputStream ();
out = new FileOutputStream (neue Datei (local_path, Dateiname));
int count = 0;
int fertig = 0;
int size = conn.getContentLength ();
while ((count = in.read (puffer))! =-1) {
if (count! = 0) {
out.write (Puffer, 0, count);
fertig+= count;
System.out.printf ("####################################################################################################### zu erhalten ###################---->%1 $ .2f %%/n ", (doppelt) fertig/Größe*100);
}anders{
brechen;
}
}
}
} catch (falthormedurlexception e) {
E. printstacktrace ();
} catch (ioException e) {
E. printstacktrace ();
} Endlich{
versuchen {
out.close ();
in.close ();
conn.disconnect ();
} catch (ioException e) {
E. printstacktrace ();
}
}
}
}