通过Springboot获取电子秤的数据
package org.springbootmq.*.Cotroller;
import gnu.io.CommPortIdentifier;
import gnu.io.SerialPort;
import gnu.io.SerialPortEvent;
import gnu.io.SerialPortEventListener;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
@RestController
@RequestMapping("/api/scale")
public class SerialPortListenerExample {
private final StringBuilder receivedData = new StringBuilder();
BufferedWriter writer = null;
SimpleDateFormat sqlDates = new SimpleDateFormat("yyyy-MM-dd");
static SimpleDateFormat sqlDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
private SerialPort serialPort;
private InputStream inputStream;
private OutputStream outputStream;
@PostMapping("/serial")
public String startListening() {
String path;
String formats;
try {
formats = sqlDates.format(new Date());
System.out.println(formats + "^^^^^^^^^^获取电子秤数据^^^^^^^^^^^^^^^");
path = "D:\\log";
File file = new File(path + "\\" + formats + ".txt");
writer = new BufferedWriter(new FileWriter(file, true));
String portName = "COM3";
CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier(portName);
serialPort = (SerialPort) portIdentifier.open(getClass().getName(), 2000);
serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
inputStream = serialPort.getInputStream();
outputStream = serialPort.getOutputStream();
// 添加事件监听器
serialPort.addEventListener(new SerialPortEventListener() {