monitoredoutputstream.java
来自「非常有影响的 j道 论 坛 源码 国外很有明的专家编写的 ....对java爱好」· Java 代码 · 共 69 行
JAVA
69 行
/* Licence:
* Use this however/wherever you like, just don't blame me if it breaks anything.
*
* Credit:
* If you're nice, you'll leave this bit:
*
* Class by Pierre-Alexandre Losson -- http://www.telio.be/blog
* email : plosson@users.sourceforge.net
*/
/*
* Changed for Part 2, by Ken Cochrane
* http://KenCochrane.net , http://CampRate.com , http://PopcornMonsters.com
*/
package com.jdon.jivejdon.presentation.servlet.upload.strutsplugin;
import org.apache.log4j.Logger;
import java.io.OutputStream;
import java.io.IOException;
/**
* Created by IntelliJ IDEA.
*
*/
public class MonitoredOutputStream extends OutputStream
{
Logger log = Logger.getLogger(this.getClass());
private OutputStream target;
private OutputStreamListener listener;
public MonitoredOutputStream(OutputStream target, OutputStreamListener listener)
{
log.debug("inside MonitoredOutputStream constructor ");
this.target = target;
this.listener = listener;
this.listener.start();
log.debug("leaving MonitoredOutputStream contructor ");
}
public void write(byte b[], int off, int len) throws IOException
{
target.write(b,off,len);
listener.bytesRead(len - off);
}
public void write(byte b[]) throws IOException
{
target.write(b);
listener.bytesRead(b.length);
}
public void write(int b) throws IOException
{
target.write(b);
listener.bytesRead(1);
}
public void close() throws IOException
{
target.close();
listener.done();
}
public void flush() throws IOException
{
target.flush();
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?