0

我正在使用此代码读取输入流,但它不工作它在缓冲区中给出垃圾值。下面的代码有什么问题: //mInputStream 是 FileInputStream 的一个对象

buf = new byte[4];
int ret = 0;

l("run");
try {
    while ( (ret = mInputStream.read(buf) )!= -1) {
        l("No.of bytes received:"+ret);
        l("Data received length :"+buf.length);
        l("Data received: "+buf.toString());
    }
} catch (IOException e) {
    l("IO exception in receiving");
}
4

2 回答 2

0

可以试试这段代码:

BufferedReader r = new BufferedReader(new InputStreamReader(mInputStream));
StringBuilder total = new StringBuilder();
String line;
while ((line = r.readLine()) != null) {
    total.append(line);
}
l("String: " + total);

并发布输出?

于 2011-11-09T12:51:21.527 回答
0

如您所知,java 中的每个类都扩展了 Object 类。任何类的每个实例都有一个继承自 Object 类的 toString 方法,该方法打印出 [name of class]@[instance id]。似乎 buf.toString() 返回一个类名 (B) 及其 ID (40533870)。尝试一次检查 buf 一个索引的内容。

于 2012-10-03T21:41:33.780 回答