import java.net.*; import java.util.Scanner; import java.io.*; public class FTPKlient { static String username; static String pass; class Fil { Socket Klient; BufferedReader br; DataInputStream din; DataOutputStream dos; Fil(Socket soc) { try { Klient=soc; din=new DataInputStream(Klient.getInputStream()); dos=new DataOutputStream(Klient.getOutputStream()); br=new BufferedReader(new InputStreamReader(System.in)); } catch(Exception s) { } } public static void main(String args[]) throws Exception { Socket soc=new Socket("localhost",14147); Fil t=new Fil(soc); t.menu(); System.out.println("Skriv brugernavn og kode:"); Scanner scan= new Scanner(System.in); do{ void Modtag() throws Exception { String filnavn; System.out.print("Hvilken fil søger du? :"); filnavn=br.readLine(); dos.writeUTF(filnavn); String msgFromServer=din.readUTF(); if(msgFromServer.compareTo("Filen findes ikke")==0) { System.out.println("Den indtastede fil findes ikke i serveren"); return; } else if(msgFromServer.compareTo("Færdig")==0) { System.out.println("Filen er i gang med at blive hentet, vent venligst"); File f=new File(filnavn); if(f.exists()) { String o; System.out.println("Destinationen har allerede en fil med dette navn. Vil du erstatte filen? (J/N) ?"); o=br.readLine(); if (o.equals("N")) { dos.flush(); return; } } FileOutputStream fot=new FileOutputStream(f); int c; String temp; do { temp=din.readUTF(); c=Integer.parseInt(temp); if(c!=-1) { fot.write(c); } }while(c!=-1); fot.close(); System.out.println(din.readUTF()); } } public void menu() throws Exception { while(true) { System.out.println("[ MENU ]"); System.out.println("1. Modtag Fil"); System.out.println("2. Afslut"); System.out.print("\nHvad vil du foretage dig? :"); int vm; vm=Integer.parseInt(br.readLine()); if(vm==1) { dos.writeUTF("GET"); Modtag(); } else { dos.writeUTF("DISCONNECT"); System.exit(1); } } } } }while((username=scan.next()).equals("geek") && (pass=scan.next()).equals("hello")); } }