2010-12-26 4 views
-3

가능한 중복 :
Why do the outputs differ when I run this code using NetBeans 6.8 and Eclipse?NetBeans 6.8 및 Eclipse를 사용하여이 코드를 실행할 때 출력이 다른 이유는 무엇입니까?

내가 이클립스와 넷빈즈 6.8를 사용하여 다음 코드를 실행하고 있습니다. 내 컴퓨터에서 사용 가능한 COM 포트를보고 싶습니다. 이클립스에서 실행할 때 그것은 나에게 가능한 모든 COM 포트를 반환하지만, 넷빈즈에서 실행하는 경우, 어떤 포트를 찾을 수가 없습니다 .. 넷빈즈와

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

출력,

거짓

을 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

예,이 질문은 다시 제출 된 질문입니다 (100 % 중복). –

답변

2

초기 추측 것 사용하는 라이브러리가 네이티브 코드를 DLL로 묶어 사용하고 있기 때문에 이전에 놓친 오류를 제공하는 코드를 찾을 수 없으며 코드가 다시 작동하지 않게됩니다.

초기화 코드를 자세히 살펴보면 어떻게되는지 알 수 있습니다.