应该是操作系统管理的。jvm根本不知道。。

解决方案 »

  1.   

    右击我的电脑,设备管理器里面查看一下属性就知道是com几了
      

  2.   

    或者你搜索一下系统所有已经连接的com口,然后再检查那个能够正常通讯。
    comm包里面有方法可以搜索所有com口的
      

  3.   

    To  Acylas(Acylas):
    >或者你搜索一下系统所有已经连接的com口,然后再检查那个能够正常通讯。
    >comm包里面有方法可以搜索所有com口的这样效率会很低吧,而且不一定正确,如果COM1口已连接某设备,而COM5口才是红外线口,程序怎么知道是哪个呢?
      

  4.   

    查看有没有已经连接的com口速度很快的,不用考虑这个效率问题。
    你根据已经连接的com口再试那个才是红外接口,这个速度相对慢一点,
    你要向串口发送数据,然后根据返回的信息判断是否是你期望的设备。其实让程序自动做这些事虽然很自动,但并不是一个好的办法,你应该通过
    配置文件的办法配置红外接口是那个com口,这样的话效率好而且标准
      

  5.   

    请问 Acylas(Acylas) 有没有用过"西门子手机工作室"这个软件,
    如果通过红外线进行连接而手机并未打开红外线时程序会马上返回连接失败,
    而一打开手机的红外线口再试则立即开始建立链接.这又是怎么做的呢?
      

  6.   

    没有用过。
    要想实现这个功能不是很难吧,通过线程每隔几十秒或者几分钟就去检查com口的连接情况。也可能有其它办法,比如串口和手机连接成功的时候可能会触发某些事件