Java 获取串口列表 不用任何第三方组件

2018-11-15 发表在 编程语言 5921

    之前用RXTX 获取串口列表的时候,如果串口被使用,就没法获取到了。

    所以采用另外一种方式,利用注册表来获取所有串口列表

    package com.zh.client.serial.utils;
    
    
    import java.io.*;
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * 获取com端口,windows专用
     */
    public class ComPortScanUtil {
    
        public static List<String> getComPorts() {
            List<String> ports = new ArrayList<>();
    
            try {
    
                String command = "reg query HKEY_LOCAL_MACHINE\\HARDWARE\\DEVICEMAP\\SERIALCOMM";
    
                Process process = Runtime.getRuntime().exec(command);
                InputStream in = process.getInputStream();
                BufferedReader br = new BufferedReader(new InputStreamReader(in));
    
    
                String line;
    
                int index = 0;
                while ((line = br.readLine()) != null) {
                    if (line == null || "".equals(line)) {
                        continue;
                    }
                    if (index != 0) {
                        String[] strs = line.replaceAll(" +", ",").split(",");
                        String comPort = strs[strs.length - 1];
                        ports.add(comPort);
                    }
                    index++;
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return ports;
        }
    
        public static void main(String[] args) {
            System.out.println(getComPorts());
        }
    }


    作者:Java笔记
    本站使用「署名 4.0 国际」创作共享协议,转载请在文章明显位置注明作者及出处。
    评论
    登录以后才可以发布评论哦, 点击登录 发布评论
    评论列表 2人参与,11条评论
    test1
    2019-05-13 10:23:41
    test
    2019-01-16 09:24:19
    Jingle : 回复@百里登风 sadsad
    2019-05-14 11:59:16
    Jingle : 回复@Jingle asd
    2019-05-14 11:59:08
    Jingle : asd
    2019-05-14 11:59:05
    Jingle : 回复@百里登风 asdsd
    2019-05-14 11:59:01
    百里登风 : 回复@百里登风 .
    2019-05-10 18:03:12
    百里登风 : 回复@百里登风 0.0
    2019-04-29 11:14:28
    百里登风 : 0.0
    2019-04-29 11:14:22
    百里登风 : test
    2019-04-29 11:14:16