请教各位网友有关InputStream类中available方法的使用方法及含义?谢谢了! int available(),可以从流中读入的有校字节数1 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有那位高人可以讲的详细一点吗?什么是有效字节数啊?如果这个流的数据源是正确的,任何时候都是可以读取它的字节数直到流遇到数据尾的啊?有那位能知道我写的这个例子available方法的含义呢?谢谢了! available() Returns the number of bytes that can be read (or skipped over) from this input stream without blocking by the next caller of a method for this input stream. 还有,将 try { data=new byte[10]; System.in.read(data); int bytes=System.in.available(); System.out.println("Can Read Bytes:"+bytes); }更改成为 try { data=new byte[10]; int bytes=System.in.available(); System.in.read(data); System.out.println("Can Read Bytes:"+bytes); } 首先说声谢谢,但是你这样改写代码有什么含义呢?你没有先将数据读入到InputStream中去,调用available的结果只是为0,在任何情况下都为0.就是从Java文档来看,方法只是返回可读的字节数,还是解释一下为什么程序会出现这样奇怪的现象呢?谢谢各位了哦!解释的好的,马上给分个! 其实我觉得这是java设计上的一个BUG,System.in.available()必须在调用一次System.in.read之后才能够起作用,但是他返回的数据是你读了以后仍然没有读进去的数据,比如你的程序data=new byte[10]; System.in.read(data);int bytes=System.in.available();如果输入的数据超过10个字节,System.in.available();才能够返回,但是返回的确实剩余的没有读如的字节树。 上面这位大虾,你认为这是Java的bug吗?不过我还是不太懂啊,你说available方法返回的是剩余的没有读入的字节数,9个字节的结果为1可以理解,那为什么在9之前为什么一直都是0呢?在9以后又是从1开始递增的呢?有什么更合理的解释吗? 线程池子的问题啊~感谢 阿宝 和 大火龙啊!还是不太明白啊。 如何求堆栈的长度? 再问CSV问题 求Thinking in java JAVA 初学请教! 大哥大姐们帮偶个忙。。。。新手送分了。谢谢简单的问题啊 请问java怎么实现传递引用? java高手请进,一个问题 请问socket代理的原理:) 如何计算当前时间是本月的第几周? 怎么使用assert 这个关键字? java中有像C++中指向函数的指针这种东西吗?
Returns the number of bytes that can be read (or skipped over) from this input stream without blocking by the next caller of a method for this input stream.
try
{
data=new byte[10];
System.in.read(data);
int bytes=System.in.available();
System.out.println("Can Read Bytes:"+bytes);
}
更改成为
try
{
data=new byte[10];
int bytes=System.in.available();
System.in.read(data);
System.out.println("Can Read Bytes:"+bytes);
}
data=new byte[10];
System.in.read(data);
int bytes=System.in.available();
如果输入的数据超过10个字节,System.in.available();
才能够返回,但是返回的确实剩余的没有读如的字节树。