URL 程式庫
piSmartDownload 程式庫
package com.PowerIntegral;
import java.net.*;
import java.io.*;
public class piSmartDownload {
private URL _URL = null;
private URLConnection _URLConnection = null;
private long _ByteRead = 0L;
private boolean _OK = false;
private String _ErrMessage = "";
public piSmartDownload() {
}
public String Download(String urlLocation) {
InputStreamReader _InputStreamReader = null;
BufferedReader _BufferedReader = null;
String _Buff = "";
StringBuffer _StringBuffer = null;
this._OK = false;
this._ErrMessage = "";
this._ByteRead = 0L;
_StringBuffer = null;
_StringBuffer = new StringBuffer("");
try {
_URL = new URL(urlLocation);
_URLConnection = _URL.openConnection();
_InputStreamReader = new InputStreamReader(_URLConnection
.getInputStream());
_BufferedReader = new BufferedReader(_InputStreamReader);
while ((_Buff = _BufferedReader.readLine()) != null) {
_StringBuffer.append(_Buff + "\n");
}
_BufferedReader.close();
_InputStreamReader.close();
_Buff = _StringBuffer.toString();
this._ByteRead = _Buff.length();
this._OK = true;
} catch (Exception ex) {
this._ErrMessage = ex.getMessage();
}
return _Buff;
}
public boolean Download(String urlLocation, String downloadFolder) {
DataInputStream _InputStreamReader = null;
BufferedInputStream _BufferedInputStream = null;
FileOutputStream _FileOutputStream = null;
BufferedOutputStream _BufferedOutputStream = null;
this._OK = false;
this._ErrMessage = "";
this._ByteRead = 0L;
try {
_URL = new URL(urlLocation);
_URLConnection = _URL.openConnection();
_InputStreamReader = new DataInputStream(_URLConnection
.getInputStream());
_BufferedInputStream = new BufferedInputStream(_InputStreamReader);
String _FileName = (new File(urlLocation)).getName();
File _File = new File(downloadFolder + "/"
+ piDateTime.DateTimeString().replaceAll("[.:\\s]", "") + "_" + _FileName);
if (_File.exists()) {
_File.delete();
}
_FileOutputStream = new java.io.FileOutputStream(_File
.getAbsolutePath());
_BufferedOutputStream = new java.io.BufferedOutputStream(
_FileOutputStream);
while (_BufferedInputStream.available() > 0) {
int _TempByte = _BufferedInputStream.read();
if (_TempByte == -1) {
break;
}
_BufferedOutputStream.write(_TempByte);
this._ByteRead++;
}
_BufferedOutputStream.flush();
_BufferedOutputStream.close();
_BufferedInputStream.close();
_InputStreamReader.close();
this._OK = true;
} catch (Exception ex) {
this._ErrMessage = ex.getMessage();
}
return this._OK;
}
public long getByteRead() {
return this._ByteRead;
}
public String getErrorMessage() {
return this._ErrMessage;
}
public boolean getSuccess() {
return this._OK;
}
}