int i=0;
.....
........if (c.equals("#")){
i++;
if (i==4) stopIt();
}
else i=0;
.....
........if (c.equals("#")){
i++;
if (i==4) stopIt();
}
else i=0;
解决方案 »
- 请教一个AWT的编程问题
- 求java swing的教程
- 望指教,运行一组代码后显示错误,请问是为什么?
- Mysql中blob相关的问题,请大家帮忙解决一下!急!!!
- java中sql多条件查询
- 一个java类里面全是static方法,如何声明这个类的接口?
- 写一个带下拉箭头的按钮
- applet问题,搞的俺头痛..
- ZipOutputStream中 putNextEntry的作用是什么?
- JCreate Pro编译后不能正确执行时的问题?
- 有一个JTextField控件,限制输入格式为"2003/06",前四位是年份,中间是"/",后两位是月份!急,谢谢!!!
- 内部类的构造函数问题??请高人指点以下代码。
所以才要一边读一边写呀
可能要用一个数组来缓存
用endsWith("#")endsWith("##")endsWith("###")endsWith("####")来判断是否以这些东西结尾,然后再与下一次读取的数组的startsWith("#")startsWith("##")startsWith("###")startsWith("####")来判断是否是连续的<####>
最好有源码参考
第一次读的 1024 存到第一个 String
然后读第二次 1024 存到 第二个 String
然后 str1+str2.indexOf("####");
有 #### 停止
没有 #### 存储str1 >>> str1 = str2 >>> 提取新的 str2
again & again
做两个string会读过头了,下一状态处理的时候由于读不到该读的数据会出错的,
所以必须保证一读到####时马上转换状态to jkit(郁闷的程序员):
不太可能,因为你不知道什么时候读完了
socket流是一直传输的,存成文件没有结束符,缺点同上to gongcaihua(cgrs)、dinosaur_cl()
具体怎么用啊??
处理数据:每遇到“####”就把之前的数据全部处理并clear掉。
接收数据:每次读到的一定量的数据和前面剩余的拼到一起。
这样基本上能做到实时处理,并且不会有“####”被分断的问题。
如果发现就连取四个字符;
要设置一个计数器,这样在"####"出现在两个字符串时,保证在第一个字符串尾与第二个字符串头所取得字符一共是四个;
看是否等于你的校验字符串"####"。
如果没有找到,再用PushBackReader的unread(4)函数将已经读取得四个字节在压回去。
然后再读1024个字节,这样就不后出现你所的那种情况啦。
这样好像可行性稍高
看还有没有更好的办法
明天就结贴了
分一定少不了你的