private void onTransferFileClicked() { if (transferingFile) return; int returnVal = fileChooser.showOpenDialog(this); if (returnVal == JFileChooser.APPROVE_OPTION) { File file = fileChooser.getSelectedFile(); showInfoMessage("Se selecciono el archivo " + file.getName()); try { lineCount = getFileLineCount(file); fileReader = new FileReader(file); linesTransfered = 0; headerSent = false; lineCountSent = false; transferingFile = true; transmitMessage("$save"); } catch (IOException e) { e.printStackTrace(); } } else { showInfoMessage("Se cancelo la transferencia de archivo"); } }
private void onReceiveLine(String line) { if (transferingFile) { if (line.equals("ack\n")) { if (!headerSent) { headerSent = true; transmitMessage("GEPETTO"); showInfoMessage("Encabezado enviado"); } else if (!lineCountSent) { lineCountSent = true; transmitMessage(String.valueOf(lineCount)); showInfoMessage("Cantidad de lineas enviadas"); } else { try { if (linesTransfered < lineCount) { transmitMessage(readLine(fileReader)); linesTransfered++; } else { try { fileReader.close(); } catch (IOException e1) { e1.printStackTrace(); } transferingFile = false; showInfoMessage("Transferencia completa"); } } catch (IOException e) { e.printStackTrace(); try { fileReader.close(); } catch (IOException e1) { e1.printStackTrace(); } transferingFile = false; showInfoMessage("Error en la transferencia"); } } } else { try { fileReader.close(); } catch (IOException e1) { e1.printStackTrace(); } transferingFile = false; showInfoMessage("Error en la transferencia"); } } else { showRecievedMessage(buffer.toString()); } }