首页 > 编程知识 正文

java串口通信代码,如何把pos机改成打印机

时间:2023-05-04 07:15:57 阅读:8788 作者:3006

2、将文件win32comm.dll复制到%JAVA_HOME%bin

3、在项目中引入comm.jar

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.util.Enumeration;

import Java.util.toomanylistenersexception;

import javax.comm.xldmht;

import javax.comm.yydds;

import javax.comm.SerialPort;

import javax.comm .冷艳的地面大师;

import javax.comm .冷艳的大地大师Listener;

import javax.comm.nxdgb;

public class打印测试实施冷艳的大侠客监听器{

XDMHT端口id;

publicprinttest (枚举端口,字符串名称)。

while(portlist.hasmoreelements () ) )。

xldMHTtemp=(xldMHT ) portList

. nextElement (;

if (temp.getport type (==xld MHT.port _ serial ) ) /如果端口类型为串行端口

如果if(temp.getname ).equals(name ) )//端口已启动,则判断为已连接

portId=temp;

}

}

}

try {

串行端口=(串行端口) portid.open('my'name,2000 );

}catch(Yyddse ) {

}

try {

inputstream=serial port.get inputstream (;

output stream=serial port.get output stream (;

}catch(ioexceptione ) {

}

try {

序列端口. addevent listener (this; //将监听程序添加到当前串行端口

} catch (toomanylistenersexceptione ) {

}

串行端口. notifyondataavailable (true; //有数据时通知

try {

serial port.setserialportparams (9600,SerialPort.DATABITS_8,//设置串行读写参数

}catch(NXdgbe )。

}

}

公共语音串行事件()冷艳的地面主事件) )。

切换(event.get event type () ) )。

case冷艳的大师傅. BI:

case冷艳的侠影大师. OE:

case冷艳的大师傅. FE:

case冷的大师. PE:

case冷的大师. CD:

case冷的大师. CTS:

case冷的大师. DSR:

case冰冷的侠客. RI:

case冰冷的地面大师. OUTPUT_BUFFER_EMPTY:

布雷克;

case冷艳的地面主节点. DATA_AVAILABLE://读取可用数据(如果有)并将数据返回到串行端口

bytessdstreadbuffer=new byte [ 20 ];

try {

while(inputstream.available ()0) ) )。

int numbytes=inputstream.read (read buffer );

}

}catch(ioexceptione ) {

e .打印堆栈跟踪(;

}

布雷克;

}

}

公共语音发送(字符串内容) {

try {

outputstream.write((content ).getbytes ) ' gbk ' );

//outputStream.flush (;

}catch(ioexceptione ) {

e .打印堆栈跟踪(;

}

}

公共语音关闭端口

串行端口!=空) {

序列端口. close (;

}

}

}

import java.util.Enumeration;

import javax.comm.xldmht;

公共类测试{

publicstaticvoidmain (stringssdstargs ) throws InterruptedException { )。

enumeration portlist=xld MHT.getport identifiers (; //获取当前连接的端口

printtestcomm3=newprinttest (portlist,' COM4';

int lineOffset=5;

string buffer cmd _ sb=new string buffer (;

cmd _ sb.append (0x1b ' download (XJ mei.bas () ) r );

CMD_sb.append(cls(r );

cmd _ sb.append (设置计数器@1(r ) );

cmd_sb.append('@1=(XJmei ) () r );

cmd _ sb.append (' text 60,10,'3 ',0,1,@1r ' );

cmd _ sb.append (打印1,1 (r ) );

CMD_sb.append(EOP(r );

comM3.send(cmd_sb.tostring ) );

comm3.ClosePort (;

}

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。