Загрузить файл через последовательный порт - PullRequest
0 голосов
/ 23 августа 2011

Есть ли способ, как загрузить файл на встроенное устройство через последовательный порт?Я использую RXTX, но мне кажется, что я уже только отправлял данные из файла, но не загружал этот файл.Спасибо за совет.

public static void main(String[] args) throws PortInUseException, UnsupportedCommOperationException
{
    java.util.Enumeration<CommPortIdentifier> portEnum = CommPortIdentifier.getPortIdentifiers();
    while (portEnum.hasMoreElements())
    {
        CommPortIdentifier portIdentifier = portEnum.nextElement();
        if (portIdentifier.getPortType() == CommPortIdentifier.PORT_SERIAL)
        {
            if (portIdentifier.isCurrentlyOwned())
            {
                System.out.println("Port is curently used");
                System.exit(0);
            }
            else
            {
                CommPort commPort = portIdentifier.open("Zkouska", 2000);
                if (commPort instanceof SerialPort)
                {
                    SerialPort serialPort = (SerialPort) commPort;
                    serialPort.setSerialPortParams(57600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
                    try
                    {
                        OutputStream out = serialPort.getOutputStream();
                        File file = new File("C:/data/java/RXTX/01_Hello/SerialUploader/uploaddemo.dat");
                        byte[] content = new byte[(int)file.length()];
                        FileInputStream fin = new FileInputStream(file);
                        fin.read(content);
                        out.write(content);
                        out.flush();
                        out.close();
                        commPort.close();
                        System.out.println("Tady");
                    }
                    catch (IOException e)
                    {
                        e.printStackTrace();
                    }
                }
            }
        }
    }
}

1 Ответ

2 голосов
/ 23 августа 2011

Вероятно, вы должны загрузить с протоколом передачи файлов, как

Посмотрите здесь для начинающих в Java: Реализация протокола X-модема в Java

...