⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uploadlistener.java

📁 前期开发时开发的新闻发布系统
💻 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 void setBytesRead(long bytesRead) 
		{			
			this.bytesRead = 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 incrementBytesRead(int byteCount) 
		{			
			this.bytesRead += byteCount;
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -