当我使用 NetBeans 6.8 和 Eclipse 运行此代码时,为什么输出有所不同?

发布于 2024-10-09 08:35:19 字数 2440 浏览 6 评论 0原文

当我使用 Eclipse 和 NetBeans 6.8 运行以下代码时。我想查看计算机上可用的 COM 端口。在 Eclipse 中运行时,它返回所有可用的 COM 端口,但在 NetBeans 中运行时,它似乎找不到任何端口..

public static void test(){
    Enumeration lists=CommPortIdentifier.getPortIdentifiers();

    System.out.println(lists.hasMoreElements());
    while (lists.hasMoreElements()) {
        CommPortIdentifier cn=(CommPortIdentifier)lists.nextElement();

        if ((CommPortIdentifier.PORT_SERIAL==cn.getPortType())) {
            System.out.println(
              "Name is serail portzzzz " +
              cn.getName() +
              " Owned status " +
              cn.isCurrentlyOwned());

            try{
                SerialPort port1=(SerialPort)cn.open("ComControl",800000);
                port1.setSerialPortParams(
                  9600,
                  SerialPort.DATABITS_8,
                  SerialPort.STOPBITS_1,
                  SerialPort.PARITY_NONE);
                System.out.println("Before get stream");
                OutputStream out=port1.getOutputStream();
                InputStream input=port1.getInputStream();
                System.out.println("Before write");
                out.write("AT".getBytes());
                System.out.println("After write");
                int sample=0;
                //while((( sample=input.read())!=-1)){
                System.out.println("Before read");
                //System.out.println(input.read() + "TEsting ");
                //}
                System.out.println("After read");
                System.out.println("Receive timeout is "+port1.getReceiveTimeout());
            }
            catch(Exception e) {
                System.err.println(e.getMessage());
            }
        }
        else {
            System.out.println(
              "Name is parallel portzzzz " +
              cn.getName() +
              " Owned status " +
              cn.isCurrentlyOwned() +
              cn.getPortType()+"    ");
        }
    }
}

使用 Netbeans 输出,

false

使用 Eclipse 输出,

true
Name is serail portzzzz COM1 Owned status false
Before get stream
Before write
After write
Before read
After read
Receive timeout is -1
Name is serail portzzzz COM2 Owned status false
Before get stream
Before write
After write
Before read
After read
Receive timeout is -1
Name is parallel portzzzz LPT1 Owned status false2
Name is parallel portzzzz LPT2 Owned status false2

When I am running the following code using Eclipse and NetBeans 6.8. I want to see the available COM ports on my computer. When running in Eclipse it is returning me all available COM ports but when running it in NetBeans, it does not seem to find any ports ..

public static void test(){
    Enumeration lists=CommPortIdentifier.getPortIdentifiers();

    System.out.println(lists.hasMoreElements());
    while (lists.hasMoreElements()) {
        CommPortIdentifier cn=(CommPortIdentifier)lists.nextElement();

        if ((CommPortIdentifier.PORT_SERIAL==cn.getPortType())) {
            System.out.println(
              "Name is serail portzzzz " +
              cn.getName() +
              " Owned status " +
              cn.isCurrentlyOwned());

            try{
                SerialPort port1=(SerialPort)cn.open("ComControl",800000);
                port1.setSerialPortParams(
                  9600,
                  SerialPort.DATABITS_8,
                  SerialPort.STOPBITS_1,
                  SerialPort.PARITY_NONE);
                System.out.println("Before get stream");
                OutputStream out=port1.getOutputStream();
                InputStream input=port1.getInputStream();
                System.out.println("Before write");
                out.write("AT".getBytes());
                System.out.println("After write");
                int sample=0;
                //while((( sample=input.read())!=-1)){
                System.out.println("Before read");
                //System.out.println(input.read() + "TEsting ");
                //}
                System.out.println("After read");
                System.out.println("Receive timeout is "+port1.getReceiveTimeout());
            }
            catch(Exception e) {
                System.err.println(e.getMessage());
            }
        }
        else {
            System.out.println(
              "Name is parallel portzzzz " +
              cn.getName() +
              " Owned status " +
              cn.isCurrentlyOwned() +
              cn.getPortType()+"    ");
        }
    }
}

Output with Netbeans,

false

Output using Eclipse,

true
Name is serail portzzzz COM1 Owned status false
Before get stream
Before write
After write
Before read
After read
Receive timeout is -1
Name is serail portzzzz COM2 Owned status false
Before get stream
Before write
After write
Before read
After read
Receive timeout is -1
Name is parallel portzzzz LPT1 Owned status false2
Name is parallel portzzzz LPT2 Owned status false2

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梨涡少年 2024-10-16 08:35:19

您是否使用相同的 Java VM 在 NetBeans 和 Eclipse 中运行代码?

Are you using the same Java VM to run the code in NetBeans and Eclipse?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文