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;

}

}