Warum unterscheiden sich die Ausgänge, wenn ich diesen Code mit Netbeans 6.8 und Eclipse ausführe?

StackOverflow https://stackoverflow.com/questions/4532845

Frage

Wenn ich den folgenden Code mit Eclipse und Netbeans 6.8 ausführe. Ich möchte die verfügbaren COM -Ports auf meinem Computer sehen. Wenn ich in Eclipse ausgeführt wird, gibt es mir alle verfügbaren COM -Ports zurück, aber wenn ich sie in NetBeans ausführt, 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()+"    ");
        }
    }
}

Ausgabe mit NetBeans,

FALSCH

Ausgabe mit 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
War es hilfreich?

Lösung

Verwenden Sie dieselbe Java -VM, um den Code in NetBeans und Eclipse auszuführen?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top