2017-08-29 1 views
1

Je souhaite analyser le port COM disponible à l'aide de Java. J'ai utilisé le code suivant à l'aide bibliothèque Comm mais sa ne fonctionne pasAnalyse du port COM disponible en Java

java.util.Enumeration<CommPortIdentifier> portEnum = CommPortIdentifier.getPortIdentifiers(); 
int i = 0; 
String[] r = new String[10]; 
while (portEnum.hasMoreElements()){ 
    CommPortIdentifier portIdentifier = portEnum.nextElement(); 
    r[i] = portIdentifier.getName(); 
    i++; 
} 
jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(r)); 

portEnum.hasMoreElements() retours false chaque fois.

Je n'ai pas l'ancien port RS232 sur mon ordinateur J'utilise un convertisseur USB vers RS232 que j'ai testé avec du mastic. Je veux juste scanner les ports disponibles, cela ne me dérange pas d'utiliser d'autres bibliothèques.

RÉPONSE: I utilisé le code à soufflet commentaires et ses produits travaillés

import jssc.SerialPortList; 

public class Main { 

public static void main(String[] args) { 
    String[] portNames = SerialPortList.getPortNames(); 
    for(int i = 0; i < portNames.length; i++){ 
     System.out.println(portNames[i]); 
    } 
} 
} 
+0

Avez-vous tout correctement configuré comme expliqué ici: https://stackoverflow.com/questions/15955530/commportidentifier-getportidentifiers-is-empty – Sven

+0

Oui J'ai tous les fichiers dans les bons répertoires. – MrsIl

Répondre

1

Quelle est la version java utilisez-vous? Il pourrait y avoir des problèmes avec jdk 8.

Avez-vous essayé https://code.google.com/archive/p/java-simple-serial-connector/

Exemple d'utilisation:

import jssc.SerialPortList; 

public class Main { 

    public static void main(String[] args) { 
     String[] portNames = SerialPortList.getPortNames(); 
     for(int i = 0; i < portNames.length; i++){ 
      System.out.println(portNames[i]); 
     } 
    } 
} 

Pour plus d'exemples, visitez https://code.google.com/archive/p/java-simple-serial-connector/wikis/jSSC_examples.wiki

+0

Bien que cela puisse théoriquement répondre à la question, [il serait préférable] (// meta.stackoverflow.com/q/8259) d'inclure les parties essentielles de la réponse ici, et de fournir le lien pour référence. – GhostCat