如何实现自己的输入流
来源:互联网 发布:mac air怎么切换输入法 编辑:程序博客网 时间:2024/06/06 21:19
1、 首先必须继承InputStream
2、实现read方法
3、由于ptr位置的使用,使得流的访问,一次必须读完。
public class MyownStream extends InputStream
{protected byte[] data;
protected int ptr;
protected int mark = 0;
public MyownStream(byte[] b)
{
data = b;
}
@Override
public int read() throws IOException {
return ptr>data.length ? (data[ptr++]):-1;
}
@Override
public int available() throws IOException {
return data.length - ptr;
}
@Override
public void close() throws IOException {
ptr = data.length;
}
@Override
public synchronized void reset() throws IOException {
if(mark == 0 || mark > data.length)
{
throw new IOException("the position is available");
}
else
{
ptr = mark;
}
}
@Override
public boolean markSupported() {
return true;
}
@Override
public int read(byte[] b, int off, int len) throws IOException {
int length = -1;
if(ptr >= data.length || len < 0)
{
length = -1;
}
if(ptr +data.length > data.length )
{
length = data.length - ptr;
}
if(len == 0)
{
length = 0;
}
return length;
}
}
0 0
- 如何实现自己的输入流
- 如何输入自己的可编程模拟电路
- 自己实现的输入框控件
- 如何实现自己的classloader
- 如何在Access查询中输入自己的SQL语句?
- 如何实现身份证输入框的输入效果
- 自己如何实现简单的http服务器
- 自己如何实现简单的http服务器
- 如何使用STL实现自己的类
- Zstack中如何实现自己的任务
- 如何实现自己的任务调度模块
- Zstack中如何实现自己的任务
- Zstack中如何实现自己的任务
- cocos2dx之如何实现自己的sprite
- 如何实现自己的应用管理工具
- 如何实现调用自己实现的网络驱动?
- 如何在Linux和windows的控制台里面输入EOF以测试自己的程序
- 关于自己定义的多类型输入框,如何配合软键盘的显示
- Atitit.故障排除系列---NoClassDefFoundError NoClassDefFoundError ClassNotFoundException
- 文章标题
- c++ 编译链接 相关【 原创 + 转载】
- 暑假第6周工作周报
- 集合操作
- 如何实现自己的输入流
- Spiral Matrix(**)
- 机房收费系统之组合查询——窗体的继承
- win7 下 VisualSVN Server post-commit 钩子问题
- atitit.提升兼容性最佳实践 p825.doc
- 没有指针的Java语言
- 惠普初体验
- PAT Basic level practice 21
- C#——获取本机IP