使用NetBeans 6.8和Eclipse运行此代码时,为什么输出会有所不同? [重复]

  可能重复:   使用NetBeans 6.8和Eclipse运行此代码时,为什么输出会有所不同? 当我使用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输出,   假 使用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
    
已邀请:
最初的猜测是,您使用的库使用DLL中包含的本机代码,并且无法找到错误的代码,并且代码会回退到虚拟行为。 我会仔细看看初始化代码,看看那里发生了什么。     

要回复问题请先登录注册