[Java] Klient ftp

0

Witam. Pisze klienta ftp pod java. I nie wiem jak zrobic ze jak podam zly adres serwa to spytal sie znowu o adres a nie zakanczal programu wklejam kawalem kodu.

import java.net.*;
import java.io.*;
import java.util.*;

class FTPClient
{

    public static void main(String args[]) throws Exception
    {

        BufferedReader brr;
        String adres;
        transferPlikow t;
        Socket soc;
            try{

                    brr=new BufferedReader(new InputStreamReader(System.in));

                    System.out.println("Podaj adres serwera:");
                    adres=brr.readLine();
                    soc=new Socket(adres,21);

                    t=new transferPlikow(soc);
                    t.displayMenu();

                    }catch(Exception e){
                System.out.println("Nie mozna sie polaczyc.");

        }//koniec catch

    }
}

</php>

0

Ja nie programuje w Java, ale myśle, że wiem jak ci pomóc (nie znam składni języka, ale wystarczy, że załapiesz co mam na mysli :D )

import java.net.*;
import java.io.*;
import java.util.*;

class FTPClient
{

        public static void main(String args[]) throws Exception
        {

                BufferedReader brr;
                String adres;
                transferPlikow t;
                Socket soc;
                        try{
   wczytywanie: // nie wiem czy w Javie tak samo się robi etykiety jak w c++ - chodzi mi o etykiety  [green]                      
                                        brr=new BufferedReader(new InputStreamReader(System.in));

                                        System.out.println("Podaj adres serwera:");
                                        adres=brr.readLine();
                                        soc=new Socket(adres,21);

                                        t=new transferPlikow(soc);
                                        t.displayMenu();

                                        }catch(Exception e){
                                System.out.println("Nie mozna sie polaczyc.");

                        goto wczytywanie; // nie wiem jak sie skacze w Javie do wybranej etykiety - no i np kiedy wystąpi bład to powróci do wczytywania :|
                }//koniec catch

        }
}

Tak czy siak myśle, że wiesz o co mi chodzi ? [???] :>

0
Nie możesz wrzucić tego catch'a w pętlę while?? 
Wtedy byłoby:
boolean t = true; ///nie wiem, czy tak, czy jakoś inaczej, ale wiadomo o co łazi
while(t=true){
try{... t=false;}catch(Exception ex){... t=true;}
}

Mam nadzieję, że to coś pomoże.

0

Wrzuc ten caly kod z funkcji main do jakiejs innej, nie statycznej. Z maina tworz konstruktor FTPClient (new FTPClient()) a w konstruktorze wywoluj funckje np polacz()
w ktorej bedziesz mial caly ten kod ktory teraz masz w mainie. A w catchu wywolaj po prostu polacz(), jesli bedzie lapal wyjatek ze nie moze sie polaczyc, bedzie zaczynal od poczatku.Pozdr ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0