2017-08-29 11 views
1

Javaを使用して利用可能なCOMポートをスキャンしたいと考えています。私はCommのライブラリを使用して、次のコードを使用しますが、そのはJavaの利用可能なCOMポートをスキャンしてください。

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()戻りfalseたびに動作していません。

私のコンピュータには古い形式のRS232ポートがありません。私はパテでテストしたRS232コンバータのUSBを使用しています。

利用可能なポートをスキャンしたいので、他のライブラリを使用しても構いません。

ANSWER: 私はコメントベローズ内のコードを使用し、そのあなたはどのJavaのバージョンを使用している

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

を参照してください。 https://stackoverflow.com/questions/15955530/commportidentifier-getportidentifiers-is-empty – Sven

+0

はいすべてのファイルを正しいディレクトリに置いてください。 – MrsIl

答えて

1

を働いていましたか? JDK 8

に問題があるかもしれませんあなたは https://code.google.com/archive/p/java-simple-serial-connector/

使用例みました:より多くの例については

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]); 
     } 
    } 
} 

は、あなたがここで説明したように、すべてが適切に設定していますhttps://code.google.com/archive/p/java-simple-serial-connector/wikis/jSSC_examples.wiki

+0

これは理論的に質問に答えるかもしれませんが、答えの本質的な部分をここに含め、参照のためのリンクを提供することが望ましいです(// meta.stackoverflow.com/q/8259)。 – GhostCat

関連する問題