如何在java中关闭读取inputStream
即使我关闭了输入流,它也没有关闭。 我不知道如何关闭输入流,因为我对这个还是新手 下面的代码用于发送数据如何在java中关闭读取inputStream,java,android,mobile,inputstream,Java,Android,Mobile,Inputstream,即使我关闭了输入流,它也没有关闭。 我不知道如何关闭输入流,因为我对这个还是新手 下面的代码用于发送数据 while (socket!=null) { BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); StringBuilder out = new StringBuilder();
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() 阅读器!=null始终返回true,因为BufferedReader已初始化。没有检查读取器是否已关闭的方法或解决方法。如何检查inputStream是否未关闭?当我调试时,在while((line=reader.readLine())!=null){out.append(line);}好的,那么如何关闭它呢?我只看到你是在hat代码之后关闭它的。那就是,我想像那样关闭输入流,有没有关闭输入流的代码?对你想关闭的流使用
.close()
。但这并不是你所需要的。放在哪里?