小编dar*_*met的帖子

RXTX无法在Windows 7 64位下列出或查找端口

早上好,

我在Windows 7 64位上使用/或安装rxtx时遇到问题.我之前在x86 win XP系统上使用它并没有问题.由于某些原因重新安装到这个新系统,rxtx无法找到任何端口.我已经尝试了rxtx安装,Cloud Hopper的64位本机库并删除所有rxtx文件并从头开始.找到了RXTXcomm.jar,我可以浏览NetBeans中的软件包,但实现似乎已被破坏或找不到.

每次执行时此行都会失败:

comPort = "COM1";
portId = CommPortIdentifier.getPortIdentifier(comPort);
Run Code Online (Sandbox Code Playgroud)

并抛出NoSuchPortException.

使用它列出串行端口不会产生任何结果.

Enumeration ports = CommPortIdentifier.getPortIdentifiers();
String portArray[] = null;
while (ports.hasMoreElements()) {
    CommPortIdentifier port = (CommPortIdentifier) ports.nextElement();
    System.out.println(port.getName());
} 
Run Code Online (Sandbox Code Playgroud)

我已经检查过串口是否可用所以此时我想知道本机库是否只是针对Windows 7 64位而被破坏了.

有没有人在Windows 7 64位下成功使用RXTX 2.2pre2?

构造函数中的违规代码部分:

public SerialControl(String name, String comPort, int baudrate, int databits, String     parity, double stopbits) throws Exception {
    int stop = 0;
    int data = 0;
    int par = 0;

    this.name=name;

    // Sanity checks and interpretation
    if (baudrate > 115200 …
Run Code Online (Sandbox Code Playgroud)

java 64-bit rxtx 32bit-64bit windows-7

7
推荐指数
2
解决办法
1万
查看次数

Scanner.findInLine()大量泄漏内存

我正在运行一个简单的扫描程序来解析一个字符串,但是我发现如果经常调用,我会得到OutOfMemory错误.此代码作为对象的构造函数的一部分调用,该对象是为字符串数组重复构建的:

编辑:这是更多信息的构造函数; 关于Scanner的try-catch之外没有更多的事情发生

   public Header(String headerText) {
        char[] charArr;
        charArr = headerText.toCharArray();
        // Check that all characters are printable characters
        if (charArr.length > 0 && !commonMethods.isPrint(charArr)) {
            throw new IllegalArgumentException(headerText);
        }
        // Check for header suffix
        Scanner sc = new Scanner(headerText);
        MatchResult res;
        try {
            sc.findInLine("(\\D*[a-zA-Z]+)(\\d*)(\\D*)");
            res = sc.match();
        } finally {
            sc.close();
        }

        if (res.group(1) == null || res.group(1).isEmpty()) {
            throw new IllegalArgumentException("Missing header keyword found");     // Empty header to store
        } else {
            mnemonic = res.group(1).toLowerCase();                            // Store …
Run Code Online (Sandbox Code Playgroud)

java memory-leaks java.util.scanner

5
推荐指数
1
解决办法
835
查看次数