错误使用BufferedReader

时间:2011-04-18 12:21:47

标签: android sockets client bufferedreader

2 个答案:

答案 0 :(得分:3)

该消息似乎是针对BufferedReader构造的。

首先,我不认为你做了什么“错误”,因为你说代码按预期工作,消息是“INFO”,而不是“ERROR”甚至“警告”。

其次,如果你看一下BufferedReader构造函数,你会看到:

  

BufferedReader(Reader in,int size)   构造一个新的BufferedReader,提供缓冲区的大小字符。

http://developer.android.com/reference/java/io/BufferedReader.html

使用该构造函数,您不应该看到该消息。

顺便说一句,logcat充满了输出,有些行比其他行更有意义。


使用Log.d代替System.out.println()。关于System.outhttp://developer.android.com/guide/developing/tools/adb.html

  

查看stdout和stderr

     

默认情况下,Android系统会发送   stdout和stderr(System.out和   System.err)输出到/ dev / null。在   您运行Dalvik VM的进程   可以让系统写一份副本   输出到日志文件。在这   如果是,系统会写入消息   使用日志标记stdout到日志   和stderr,都优先考虑。

     

以这种方式路由输出,你   停止正在运行的模拟器/设备   实例然后使用shell   命令setprop启用   重定向输出。这是你的方式   做到这一点:

     

$ adb shell stop $ adb shell setprop   log.redirect-stdio true $ adb shell   启动

     

系统会保留此设置,直到   您终止模拟器/设备   实例。要将设置用作   模拟器/设备上的默认值   例如,您可以添加条目   设备上的/data/local.prop。

答案 1 :(得分:1)

您的数据是否以空格分隔?如果没有,您需要为扫描仪指定分隔符。

您是否有一些未显示的异常处理代码...例如如果parseInt失败,则隐藏NumberFormatException?

在调试此问题时(除非您可以附加调试器),您可以在接受新客户端连接以及进入和退出工作线程时等点记录消息。这可能会帮助您了解在您认为收到数据时是否正在扫描数据。