timer.scheduleAtFixedRate(task, 0, 1000);
}
}
#### 运行即可
####
注意:运行时串口不得被其他软件或者硬件占用。不然读取会报错。
![](https://img-blog.csdnimg.cn/44d9f4b6777c414e9625a7c00908b099.png)
### 方法二:使用JSerialComm读取串口数据
#### 1、引入依赖
<dependency>
<groupId>com.fazecast</groupId>
<artifactId>jSerialComm</artifactId>
<version>2.6.2</version>
</dependency>
如果引入不进去的可以去**官网**下载依赖,手动导包。
#### 2、新建JSerialCommReader
import com.fazecast.jSerialComm.SerialPort;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
import java.util.Timer;
import java.util.TimerTask;
public class JSerialCommReader {
public static void main(String[] args) {
SerialPort serialPort = SerialPort.getCommPort(“COM3”);
serialPort.openPort();
serialPort.setBaudRate(9600);
serialPort.setNumDataBits(8);
serialPort.setNumStopBits(1);
serialPort.setParity(SerialPort.NO_PARITY);
InputStream input = serialPort.getInputStream();
Timer timer = new Timer();
TimerTask task = new TimerTask() {
@Override
public void run() {
try {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ");
Date date = new Date(System.currentTimeMillis());
Scanner scanne