扫描仪输入问题

py49o6xq  于 2021-07-12  发布在  Java
关注(0)|答案(1)|浏览(381)

我正在编写一个代码,从连接到计算机的一个“coms”的辐射计传感器获取数据,要获取测量值,我必须与该传感器通信,抛出“com7”,并编写命令“gi”,以从命令用户界面获取类似“9.919e-08”的值。
现在我有一个问题的代码,它是给我的错误“没有行发现”

这是密码

package reading_data;

import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.Scanner;

import com.fazecast.jSerialComm.SerialPort;

public class main {

public static void main(String[] args) throws IOException, InterruptedException {

    SerialPort sp= SerialPort.getCommPort("COM7");
    sp.setComPortParameters(115200, 8, 1, 0);
    sp.setComPortTimeouts(SerialPort.TIMEOUT_WRITE_BLOCKING, 0, 0);

    sp.openPort();

    if(sp.isOpen()) {
    System.out.println("Port is open");

    PrintWriter output=new PrintWriter(sp.getOutputStream());
    Scanner data=new Scanner(sp.getInputStream());
    output.println("gi");
    String ssss=data.nextLine();
    System.out.println("--++++---->"+ssss);

    }else {
        System.out.println("Port is not open");
    }   

    sp.closePort();

}
}

这是我得到的错误

Port is open
Exception in thread "main" java.util.NoSuchElementException: No line found
at java.util.Scanner.nextLine(Unknown Source)
at reading_data.main.main(main.java:26)

你能告诉我哪里错了吗?
提前谢谢

qzlgjiam

qzlgjiam1#

试着这样做:

output.flush();    
if(data.hasNextLine()) {
  String ssss=data.nextLine();
}

如果没有下一条线,就不要打下一条线。编辑:需要刷新。

相关问题