[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