Как мне перечислить доступные порты, используя comm.jar и Netbeans 6.8? - PullRequest
2 голосов
/ 12 января 2011

Я пытаюсь отобразить доступные порты на моем компьютере, используя следующие коды ..

public static void test(){

    Enumeration lists=CommPortIdentifier.getPortIdentifiers();
        System.out.println(CommPortIdentifier.PORT_SERIAL);
        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()+"    ");
            }
        }

}

Мой вывод всегда;

1 false

Этохотя пока не зацикливается (lists.hasMoreElements ()) {

///)

Какие могут быть возможные проблемы?

1 Ответ

2 голосов
/ 13 января 2011

Вам не хватает драйвера:

String driverName = "com.sun.comm.Win32Driver";
CommDriver commdriver =
(CommDriver) Class.forName(driverName).newInstance();
commdriver.initialize();

Сообщите, если вам нужно больше кода или этого достаточно для начала работы.

ИЛИ

есть этот файлjavax.comm.properties в вашем классе путь с этим содержанием: Driver=com.sun.comm.Win32Driver

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...