RXTX如何使用并行端口进行通信,gnu.io.RXTXPort cannot be cast to gnu.io.ParallelPort解决方法

官方文档有错误,运行报错:gnu.io.RXTXPort cannot be cast to gnu.io.ParallelPort
修改后的运行
在这里插入图片描述

import gnu.io.CommPortIdentifier;
import gnu.io.NoSuchPortException;
import gnu.io.PortInUseException;
import gnu.io.RXTXPort;

import java.io.IOException;
import java.io.OutputStream;


//下面是一个代码示例,展示了如何使用并行端口进行通信。
public class ParallelCommunication {

    private static OutputStream outputStream;;
    private static RXTXPort parallelPort;
    private static CommPortIdentifier port;

    // 要打开的串口名称
    public static final String PARALLEL_PORT = "COM3";
    //串口类型
    public static final String[] PORT_TYPE = { "Serial Port", "Parallel Port" };
    //要发送的信息
    private static String printerCodes = "<n>HelloWorld!<p>";

    public static void main(String[] args) {

        System.out.println("Started test....");

        try {
            //通过标识符获取端口对象
            port = CommPortIdentifier.getPortIdentifier(PARALLEL_PORT);

            System.out.println("\nport.portType = " + port.getPortType());
            System.out.println("port type = "
                    + PORT_TYPE[port.getPortType() - 1]);
            System.out.println("port.name = " + port.getName());

            // 打开串口 open(App name, timeout)
            parallelPort = (RXTXPort) port.open("CommTest", 50);
            outputStream = parallelPort.getOutputStream();
            //转化成byte[]
            byte[] byteArray=printerCodes.getBytes("UTF-8");

            System.out.println("Write...");
            outputStream.write(byteArray);
            System.out.println("Flush...");
            outputStream.flush();
            System.out.println("Close...");
            outputStream.close();

        } catch (NoSuchPortException nspe) {
            System.out.println("\nPrinter Port LPT1 not found : "
                    + "NoSuchPortException.\nException:\n" + nspe + "\n");
        } catch (PortInUseException piue) {
            System.out.println("\nPrinter Port LPT1 is in use : "
                    + "PortInUseException.\nException:\n" + piue + "\n");
        }

        catch (IOException ioe) {
            System.out.println("\nPrinter Port COM3 failed to write : "
                    + "IOException.\nException:\n" + ioe + "\n");
        } catch (Exception e) {
            System.out
                    .println("\nFailed to open Printer Port COM3 with exeception : "
                            + e + "\n");
        } finally {
            if (port != null && port.isCurrentlyOwned()) {
                parallelPort.close();
            }

            System.out.println("Closed all resources.\n");
        }
    }
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦里藍天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值