当我使用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 

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