现在的情况是这样的,从控制器搞来的InputStream我要读取里面的字节,假设142个字节为一条指令,我知道一共有32条指令就是4544个字节,但是通过
public void writeStoreData() throws IOException {
int a = 0;//指令数
while (inputStream.available()>0){
storeData = new byte[inputStream.available()];
for (int i=0;i<inputStream.available();i++){
inputStream.read(storeData,i,142);
//满足条件指令就累加
if (storeData[i]==104||storeData[i+1]==103||storeData[i+2]==43||){
a++;
}
}
System.out.println(a);
}
}
按照理论讲inputstream.available()应该为4544但是我断点看了下实际只有4094,少了部分数据,结果指令只有29条了。。这要怎么办
public void writeStoreData() throws IOException {
int a = 0;//指令数
while (inputStream.available()>0){
storeData = new byte[inputStream.available()];
for (int i=0;i<inputStream.available();i++){
inputStream.read(storeData,i,142);
//满足条件指令就累加
if (storeData[i]==104||storeData[i+1]==103||storeData[i+2]==43||){
a++;
}
}
System.out.println(a);
}
}
按照理论讲inputstream.available()应该为4544但是我断点看了下实际只有4094,少了部分数据,结果指令只有29条了。。这要怎么办
建议Google下流读取的样例代码吧。
直接读,比如read,到流末自然会有指示的