java com api 哪里有啊?

解决方案 »

  1.   

    是用Java Communication API(在javax.comm包中),串口编程我不会,但我给你一个打开串行端口的实例:
    import java.awt.*;
    import java.io.*;
    import javax.comm.*;
    import java.util.*;/**
     * Open a serial port using Java Communications.
     *
     * @author Ian F. Darwin, [email protected]
     */
    public class CommPortOpen {
    /** How long to wait for the open to finish up. */
    public static final int TIMEOUTSECONDS = 30;
    /** The baud rate to use. */
    public static final int BAUD = 9600;
    /** The parent Frame, for the chooser. */
    protected Frame parent;
    /** The input stream */
    protected DataInputStream is;
    /** The output stream */
    protected PrintStream os;
    /** The last line read from the serial port. */
    protected String response;
    /** A flag to control debugging output. */
    protected boolean debug = true;
    /** The chosen Port Identifier */
    CommPortIdentifier thePortID;
    /** The chosen Port itself */
    CommPort thePort; public static void main(String[] argv)
    throws IOException, NoSuchPortException, PortInUseException,
    UnsupportedCommOperationException { new CommPortOpen(null).converse(); System.exit(0);
    } /* Constructor */
    public CommPortOpen(Frame f)
    throws IOException, NoSuchPortException, PortInUseException,
    UnsupportedCommOperationException {

    // Use the PortChooser from before. Pop up the JDialog.
    PortChooser chooser = new PortChooser(null); String portName = null;
    do {
    chooser.setVisible(true);

    // Dialog done. Get the port name.
    portName = chooser.getSelectedName(); if (portName == null)
    System.out.println("No port selected. Try again.\n");
    } while (portName == null); // Get the CommPortIdentifier.
    thePortID = chooser.getSelectedIdentifier(); // Now actually open the port.
    // This form of openPort takes an Application Name and a timeout.
    // 
    System.out.println("Trying to open " + thePortID.getName() + "..."); switch (thePortID.getPortType()) {
    case CommPortIdentifier.PORT_SERIAL:
    thePort = thePortID.open("DarwinSys DataComm",
    TIMEOUTSECONDS * 1000);
    SerialPort myPort = (SerialPort) thePort; // set up the serial port
    myPort.setSerialPortParams(BAUD, SerialPort.DATABITS_8,
    SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
    break; case CommPortIdentifier.PORT_PARALLEL:
    thePort = thePortID.open("DarwinSys Printing",
    TIMEOUTSECONDS * 1000);
    ParallelPort pPort = (ParallelPort)thePort; // Tell API to pick "best available mode" - can fail!
    // myPort.setMode(ParallelPort.LPT_MODE_ANY); // Print what the mode is
    int mode = pPort.getMode();
    switch (mode) {
    case ParallelPort.LPT_MODE_ECP:
    System.out.println("Mode is: ECP");
    break;
    case ParallelPort.LPT_MODE_EPP:
    System.out.println("Mode is: EPP");
    break;
    case ParallelPort.LPT_MODE_NIBBLE:
    System.out.println("Mode is: Nibble Mode.");
    break;
    case ParallelPort.LPT_MODE_PS2:
    System.out.println("Mode is: Byte mode.");
    break;
    case ParallelPort.LPT_MODE_SPP:
    System.out.println("Mode is: Compatibility mode.");
    break;
    // ParallelPort.LPT_MODE_ANY is a "set only" mode;
    // tells the API to pick "best mode"; will report the
    // actual mode it selected.
    default:
    throw new IllegalStateException("Parallel mode " + 
    mode + " invalid.");
    }
    break;
    default: // Neither parallel nor serial??
    throw new IllegalStateException("Unknown port type " + thePortID);
    } // Get the input and output streams
    // Printers can be write-only
    try {
    is = new DataInputStream(thePort.getInputStream());
    } catch (IOException e) {
    System.err.println("Can't open input stream: write-only");
    is = null;
    }
    os = new PrintStream(thePort.getOutputStream(), true);
    } /** This method will be overridden by non-trivial subclasses
     * to hold a conversation. 
     */
    protected void converse() throws IOException { System.out.println("Ready to read and write port."); // Input/Output code not written -- must subclass. // Finally, clean up.
    if (is != null)
    is.close();
    os.close();
    }
    }
      

  2.   

    to:star821116(业精于勤荒于嬉,行成于思毁于随) 
       你好,可是我在Java2 sdk 1.4.1 里并没有javax.comm类啊,请问你可以发一份给我看看吗?谢谢
    [email protected]
      

  3.   

    我现在找到了Javax.comm的API,可是导入了用j2sdk1.4.0提示找不到这个类我该怎么办?