?? asciiinputstream.java
字號:
package ranab.io;
import java.io.IOException;
import java.io.InputStream;
/**
* Read ASCII data. It filters out the ASCII data from the
* <code>InputStream</code>.
*
* @author <a href="mailto:rana_b@yahoo.com">Rana Bhattacharyya</a>
*/
public
class AsciiInputStream extends InputStream {
private long mlActualByteRead = 0;
private boolean mbIgnoreNonAscii = true;
private InputStream mInputStream;
/**
* Constructor
* @param is <code>InputStream</code> to be filtered.
*/
public AsciiInputStream(InputStream is) {
mInputStream = is;
}
/**
* Read a single character. Change "\r\n" to "\n".
*/
public int read() throws IOException {
int c;
while ( (c = actualRead()) != -1) {
if (c == '\r') {
continue;
}
if (mbIgnoreNonAscii && (c > 0x7F) ) {
continue;
}
break;
}
return c;
}
/**
* Close stream
*/
public void close() throws IOException {
mInputStream.close();
}
/**
* read actual data from the stream
*/
private int actualRead() throws IOException {
int c = mInputStream.read();
if (c != -1) {
++mlActualByteRead;
}
return c;
}
/**
* Get actual byte read.
*/
public long getActualByteRead() {
return mlActualByteRead;
}
/**
* Is non ascii character ignored.
* If true don't read non-ascii character.
* Else first convert it to ascii by ANDing with 0x7F.
*/
public boolean getIsIgnoreNonAscii() {
return mbIgnoreNonAscii;
}
/**
* Set non-ascii ignore boolean value.
*/
public void setIsIgnoreNonAscii(boolean ig) {
mbIgnoreNonAscii = ig;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -