FTP continuar o envio do arquivo

Estou tentando fazer um sisteminha desktop de ftp mas bem simples a unica funcionalidade sera enviar o arquivo no qual até ja fiz porem preciso que se a conexao cair (internet) ele possa continuar o envio de onde parou, ja estou fazendo o envio via buffer pra saber o quanto ja foi por tratar de arquivos grandes mas não acho como continuar esse envio quebrado…

Alguem ja passou por esse problema ou tem alguma dica?

Grato

Trecho do codigo:

                 int counter = 0;
                 while (true) {
                   int bytes = in.read(buffer);
                   if (bytes < 0)
                     break;
                     out.write(buffer, 0, bytes);
                   
                   counter += bytes;
                   System.out.println("File " + arq + ": " + counter + " bytes");
                                    
                 }