即使我关闭了输入流,输入流也没有关闭。 我不知道如何关闭输入流,因为我对此还很陌生 以下代码用于发送数据
while (socket!=null)
{
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder out = new StringBuilder();
String line;
try {
while ((line = reader.readLine()) != null) {
out.append(line);
}
handler.obtainMessage(MESSAGE_READ_DONE,out.toString()).sendToTarget();
reader.read();
reader.close();
}
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
if (reader != null){
reader.close();
}
}catch (IOException e){
e.printStackTrace();
}
}
}
}
这是为了写数据
public void write(byte[] bytes)
{
new Thread(new Runnable() {
@Override
public void run() {
if (outputStream!=null){
try {
outputStream.write(bytes);
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}else {
Toast.makeText(MainActivity.this, "null data", Toast.LENGTH_SHORT).show();
}
}
}).start();
}
}
提前感谢您的帮助!
您可以像这样关闭缓冲的读取器。认为关闭缓冲的阅读器将解决您的问题。
reader.close((;
reader != null 总是返回 true,因为 BufferedReader 已初始化。没有方法或解决方法可以检查读取器是否已关闭。