?? uploadlistener.java
字號:
package book.upload;
public class UploadListener implements OutputStreamListener {
// 保存狀態的內部類對象
private FileUploadStats fileUploadStats = new FileUploadStats();
// 構造方法
public UploadListener(long totalSize) {
fileUploadStats.setTotalSize(totalSize);
}
public void start() {
// 設置當前狀態為開始
fileUploadStats.setCurrentStatus("start");
}
public void bytesRead(int byteCount) {
// 將已讀取的數據保存到狀態對象中
fileUploadStats.incrementBytesRead(byteCount);
// 設置當前的狀態為讀取過程中
fileUploadStats.setCurrentStatus("reading");
}
public void error(String s) {
// 設置當前狀態為出錯
fileUploadStats.setCurrentStatus("error");
}
public void done() {
// 設置當前已讀取數據等于總數據大小
fileUploadStats.setBytesRead(fileUploadStats.getTotalSize());
// 設置當前狀態為完成
fileUploadStats.setCurrentStatus("done");
}
public FileUploadStats getFileUploadStats() {
// 返回當前狀態對象
return fileUploadStats;
}
// 保存狀態類
public static class FileUploadStats {
private long totalSize = 0;// 總數據的大小
private long bytesRead = 0;// 已讀數據大小
private long startTime = System.currentTimeMillis();// 開始讀取的時間
private String currentStatus = "none";// 默認的狀態
public long getTotalSize()// 屬性totalSize的get方法
{
return totalSize;
}
public void setTotalSize(long totalSize) {
this.totalSize = totalSize;
}
public long getBytesRead()// 屬性bytesRead的get方法
{
return bytesRead;
}
public long getElapsedTimeInSeconds()// 獲得已經上傳得時間
{
return (System.currentTimeMillis() - startTime) / 1000;
}
public String getCurrentStatus()// 屬性currentStatus的get方法
{
return currentStatus;
}
public void setCurrentStatus(String currentStatus) {
this.currentStatus = currentStatus;
}
public void setBytesRead(long bytesRead) {
this.bytesRead = bytesRead;
}
public void incrementBytesRead(int byteCount) {
this.bytesRead += byteCount;
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -