指令打印程序(通过Socket)

1、对应的IP

2、将打印的文本文件

 1 import java.io.ByteArrayOutputStream;
2 import java.io.File;
3 import java.io.FileInputStream;
4 import java.io.IOException;
5 import java.io.InputStream;
6 import java.io.OutputStream;
7 import java.net.InetSocketAddress;
8 import java.net.Socket;
9
10 public class PrintBySocket
11 {
12
13 private static String ip = "172.16.12.251";// 更改成网络打印机的IP
14
15 private static int port = 9100;// 更改成网络打印机的端口
16
17 private static int timeout = 1000;// 设置超时时间
18
19 public static void main(String[] args)
20 throws Exception
21 {
22 String filepath = "C:\\RFID2.txt";// 指令文件存放的位置
23 File file = new File(filepath);
24 byte[] command = new byte[10];
25 String label = null;
26 if (file.exists())
27 {// 检查指令文件存在不存在
28 InputStream is = new FileInputStream(file);
29 ByteArrayOutputStream out = new ByteArrayOutputStream();
30 int len = 0;
31 while ((len = is.read(command)) > 0)
32 {
33 out.write(
34 command, 0, len);
35 }
36 // label = new String(out.toByteArray(),"utf-8");
37 label = new String(out.toByteArray(), "gbk");
38 System.out.println(label);
39 }
40 else
41 {// 指令文件不存在则直接返回
42 System.out.println("指令文件不存在");
43 return;
44 }
45
46 Socket s = null;
47 OutputStream writer = null;
48 try
49 {
50 s = new Socket();
51 s.connect(new InetSocketAddress(ip, port));
52 s.setSoTimeout(timeout);
53 writer = s.getOutputStream();
54 byte[] bytes;
55 // bytes = label.getBytes("utf-8");
56 bytes = label.getBytes("gbk");
57 writer.write(
58 bytes, 0, bytes.length);
59 writer.flush();
60 }
61 catch (IOException e)
62 {
63 throw new RuntimeException("试图连接到打印机的时候发生错误,请检查你的网络连接,并确认打印机已经开机!", e);
64 }
65 finally
66 {
67 if (writer != null)
68 {
69 try
70 {
71 writer.close();
72 }
73 catch (Exception e)
74 {
75 }
76 }
77 if (s != null)
78 {
79 try
80 {
81 s.close();
82 }
83 catch (Exception e)
84 {
85 }
86 }
87 }
88 }
89 }

指令打印程序(通过Socket)

时间: 2024-10-11 09:55:17

指令打印程序(通过Socket)的相关文章

c# 调用zebra打印指令 打印到USB端口

c# 调用zebra打印机指令打印条码,如果直接打印到lpt1端口的打印机,通过copy指令没有问题, 但如果ZEBRA打印机是通过USB连接,打印机端口为usb001,则程序不能直接拷贝到usb001端口. 必须先共享本机的usb端口打印机,再将共享后的打印机名连接为LPT端口打印机,则可以成功打印. from: http://answers.microsoft.com/en-us/windows/forum/windows_7-hardware/how-do-i-print-a-file-t

工程实践:如何规范地打印程序日志?

工程实践:如何规范地打印程序日志? 很久之前,有个朋友问我,如果一个老项目让你接手去进行后续维护,你会先从哪里入手.让自己更快地上手项目?当时我没有特别正面去回答这个朋友的问题,我说:一个老项目是否容易上手,一个非常关键的地方就是这个项目的日志是否打得足够好.因为通常来说,一个老项目相对比较稳定了,后续大概率不会有比较大的变更和改动,那么对于这样的项目,核心就是“维稳”.但是任何人都无法保证项目在线上运行时不会出线上故障,在出现线上问题或者故障时,如何快速止损就是第一要义,而日志在止损过程中就扮

工具系列 | WEB打印程序开发

Lodop(标音:劳道谱,俗称:露肚皮)是专业WEB控件,用它既可裁剪输出页面内容,又可用程序代码直接实现 复杂打印.控件功能强大,却简单易用,所有调用如同JavaScript扩展语句. WEB套打可选方案不多,理想的更少,利用免费控件Lodop+JavaScript实现精确套打,算是较为经典的选择.这种方案其实比较简单,利用一个htm文件就可以实现模板设计过程,几乎是“空手套”式的开发,但理解这几个步骤还是需要点时间,下面一步步详细演示说明: 第一步:建立一个空白的模板设计文件 把以下超文本代

菱形打印程序——谈如何学习算法

菱形打印程序——谈如何学习算法 1.菱形打印 很多人,打印菱形在控制台的思路是,把菱形上下拆分,分两段很接近的代码来打印,其实这样代码很不好看,并且不好阅读.    我们知道,要打印的图案是这种:                            *                          *** *****      ***    * 满足上下对称,左右对称,那么,你能不能也弄一个二重循环,同样是对称的?      很简单,首先我们要抛开习惯性思维,for循环不一定要在0开始或者

C# EPL USB 指令打印

1 private void btnPrinter_Click(object sender, EventArgs e) 2 { 3 4 #region ESC 热敏图像点阵像素点读取打印 5 6 //Bitmap bitmap = new Bitmap(@"D:\450X100.bmp"); 7 //NetPOSPrinter netPOSPrinter = new NetPOSPrinter(); 8 //netPOSPrinter.PrintPic(bitmap); 9 10 #e

打印程序编译时间

打印程序编译时间 #include <stdio.h> int main() { printf(__DATE__); printf("\n"); printf(__TIME__); printf("\n"); return 0; }

windows下QT前台和linux下后台程序通过socket通信

通常情况下,linux下的后台程序不需要GUI进行展示,而前台程序往往有个界面,方便和用户的交互.本文所演示的例 子,是QT 程序和后台linux进程(C语言)交互,通过socket传输的内容是结构体.因为QT本身是跨平台的框架,因此以后前端程序移植到其它平台依然能很好 的运行. 结构体的定义如下: struct Test              {                      int a;                      char b;              };

C#实现无物理边距真正可打印区域的绘图\打印程序开发

经常在开发实际的应用程序中,需要用到图形绘制和打印程序.如何实现完整的精确打印和绘图是需要注意许多细节地方的.最近在遇到打印问题的时候,仔细研究一阵,总结这篇博文,写得有点杂乱,看文要还请费点神. 基本功能:窗体绘图与鼠标交互  打印预览与打印输出 开发平台:VisualStudio 2010 (C#) 1绘图坐标系统 1.1绘图系统坐标转换(屏幕窗口/打印机) 绘图程序涉及到多种坐标系统,总体上可分为三个坐标系:世界坐标系.页面坐标系以及设备坐标系.想要将图形图像会知道最终的设备上,中间需要做

linux下java程序与C语言程序通过SOCKET通信的简单例子

linux下java程序与C语言程序通过SOCKET通信的简单例子 今天上午实验了java程序与c语言程序通过socket进行通信.由于没学过java,因此只是编写了C语言端的代码,java端的代码是从网上别的文章中找的,经过少量修改后与C语言端程序通信成功. 本例中C语言端作为服务器,java端作为客户端 代码如下: /****************** server program *****************/ #include <stdio.h> #include <sy