Java communications API 实现并行端口打印
使用 Java communications API 实现并行端口打印
这是一个在客户支持中遇到的新问题,我在相关的网站([url]www.rxtx.org[/url] and [url]www.sun.com.cn[/url])上找到了一些有用的信息,最后终于在Windows XP 和 LinuxIA32 平台下实现并行端口打印这一功能。
首先,我们要从SUN的网站下载Java communications API最新的包(javacomm20-win32.zip),然后解压缩在commapi目录下,进入commapi目录中,我们可以看到win32com.dll,comm.jar,javax.comm.properties 三个文件。在正确使用Java communications API之前,我们必须先配置Java communications API在JDK1.4.2运行环境中。我们假定JDK1.4.2的安装目录为"C:\java142"。
1. 复制 win32com.dll 到 C:\java142\bin
2. 复制 comm.jar 到 C:\java142\jre\lib\ext
3. 复制 javax.comm.properties 到 C:\java142\jre\lib,javax.comm.properties 一定要安装,否则,我们将找不到系统中的任何并行端口。
现在,我们已经完成了comm.jar 的安装工作,可以测试我们的程序了。下面我将给出我写的一个简单的例子:SimpleLPTPort.java
---------- BEGIN SOURCE ----------
import java.io.*;
import java.util.*;
import javax.comm.*;
public class SimpleLPTPort {
Enumeration ports;
CommPortIdentifier portId;
ParallelPort LPTPort;
protected OutputStream out;
String outPrintStr = "When an \n\rinput method \n\ris activated, ";
public SimpleLPTPort() {
checkLPTPort();
}
public void checkLPTPort() {
ports = CommPortIdentifier.getPort
相关文档:
定义:
GOF《设计模式》中给状态模式下的定义为:允许一个对象在其内部状态改变时改变它的行为。
先看一个例子:
package com.state;
public class KissingPrincess {
// 标志位,标志是青蛙还是王子。
private boolean isFrog = true;
// 根据isFrog进行不同的操作。
public void greet() {
if (isFrog)
......
Reflection 是 Java 程序开发语言的特征之一,它允许运行中的 Java 程序对自身进行检查,或者说“自审”,并能直接操作程序的内部属性。例如,使用它能获得 Java 类中各成员的名称并显示出来。
Java 的这一能力在实际应用中也许用得不是很多,但是在其它的程序设计语言中根本就不存在这一特性。例如,Pascal、C ......
问题一:如保加载JDBC驱动程序:
正常我们加载驱动程序有三个途径:
1.Class.forName(String)这想当于classLoader一个String指定的类,在装载时把该驱动程序的静态内容都初始化,其实这时驱动程序类调用了DriverManager.registerDriver(driver)方法。
2.使用系统属性:System.getPro ......
package com.wfy.system.dao;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Types;
......
自己收集的一些java处理类,供以后查询
package com.tools;
import java.text.SimpleDateFormat;
import java.util.Date;
public class StringHandler {
/******************************
* 功能:将IP地址转换为对应的整数
* 返回类型:long
******************************/
public static long getI ......