2010-12-26 6 views
-3

Mögliche Duplizieren:
Why do the outputs differ when I run this code using NetBeans 6.8 and Eclipse?Warum unterscheiden sich die Ausgaben, wenn ich diesen Code mit NetBeans 6.8 und Eclipse austrage?

Wenn ich den folgenden Code leite 6.8 mit Eclipse und NetBeans. Ich möchte die verfügbaren COM-Ports auf meinem Computer sehen. Wenn in Eclipse läuft es mir alle verfügbaren COM-Ports zurückkehrt, aber wenn es in NetBeans läuft, scheint es keine Ports zu finden ..

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() + 
       " "); 
     } 
    } 
} 

Ausgang mit Netbeans,

falsch

Output 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 
+0

Ja, diese Frage ist eine erneut gestellte Frage (100% Duplikat). –

Antwort

2

Eine erste Vermutung wäre Sei es, dass die von dir verwendete Bibliothek nativen Code in einer DLL verwendet und dieser Code nicht gefunden werden kann, wenn du einen Fehler früher verpasst hast, und der Code fällt zurück auf ein Dummy-Verhalten.

Ich würde mir den Initialisierungscode genauer ansehen, um zu sehen, was dort passiert.

Verwandte Themen