我编写了while循环来从InPutStream中读取数据并将其保存在字符串中。
但是当阅读完成后,我的Windows应用程序的UI会被冻结或挂起。
我使用InputSteam和Scanner类来读取数据。
这是我使用过的代码,
try{
// trying to send command to scanner to start scan
String strPushButtonCommand = "xx";
byte [] mValue = strPushButtonCommand.getBytes();
mOutPut.write(mValue);
writeToFile = new BufferedWriter(new FileWriter(filepath+
".txt"));
InputStream mInput = chosenPort.getInputStream();
Scanner input = new Scanner(mInput);
while(input.hasNextLine())
{
data = input.nextLine();
System.out.println(data);
writeToFile.write(data+"\n");
}
input.close();
System.out.println("print this message");
}catch(Exception error){
System.out.println(error);
}
在这种情况下,while循环不会出现循环。