Java - scanner类:正确用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java - scanner类:正确用法相关的知识,希望对你有一定的参考价值。
我正在使用jSerialComm库和Scanner类。当我尝试运行我的程序时,我收到以下错误:
线程“main”java.lang.NullPointerException中的异常 在java.io.Reader。(未知来源) 在java.io.InputStreamReader。(未知来源) 在java.util.Scanner。(未知来源) 在SerialComm.main(SerialComm.java:44)
指向此行:Scanner scanner = new Scanner(port.getInputStream());
import java.util.Scanner;
import com.fazecast.jSerialComm.*;
public class SerialComm {
public static void main(String[] args) {
// TODO Auto-generated method stub
SerialPort serPort[] = SerialPort.getCommPorts();
int i = 0;
for(SerialPort port : serPort)
{
System.out.println(i++ + " " + port.getSystemPortName());
}
Scanner s = new Scanner(System.in);
int selected = s.nextInt();
SerialPort port = serPort[selected];
System.out.println(port.getBaudRate());
port.setBaudRate(115200);
System.out.println(port.getBaudRate());
port.setNumDataBits(8);
port.setNumStopBits(1);
port.setParity(SerialPort.NO_PARITY);
try
{
port.openPort();
System.out.println("Connection is opend");
}
catch (Exception ex)
{
System.out.println("Chack connection ther is a problem");
}
port.setComPortTimeouts(SerialPort.TIMEOUT_READ_SEMI_BLOCKING, 100, 0);
Scanner scanner = new Scanner(port.getInputStream());
while(scanner.hasNextLine())
{
try
{
String line = scanner.nextLine();
System.out.println(line);
}
catch(Exception ex)
{
System.out.println("halo");
}
}
}
}
答案
我已经测试了你的代码,它与我的Arduino工作正常,这是Arduino草图
void setup(){
Serial.begin(115200);
}
void loop(){
for(int i = 0;i<1024;i++){
Serial.println(i);
delay(1);
}
for(int i = 1023;i>0;i--){
Serial.println(i);
delay(1);
}
}
以上是关于Java - scanner类:正确用法的主要内容,如果未能解决你的问题,请参考以下文章