|
| 1 | +import java.io.BufferedInputStream; |
1 | 2 | import java.io.File; |
| 3 | +import java.io.FileInputStream; |
| 4 | +import java.io.ObjectInputStream; |
| 5 | +import java.io.ObjectOutputStream; |
| 6 | +import java.io.OutputStream; |
| 7 | +import java.net.ServerSocket; |
| 8 | +import java.net.Socket; |
2 | 9 |
|
3 | 10 |
|
4 | 11 | public class javaFileSync { |
5 | 12 |
|
6 | 13 | public static void main(String[] args) { |
7 | | - if(args.length > 0) { |
8 | | - if (args[0].equalsIgnoreCase("-s")) { |
9 | | - server(); |
10 | | - } else if (args[0].equalsIgnoreCase("-c") && args.length > 1 && args.length < 3) { |
11 | | - client(args[2], args[1]); |
12 | | - } else if (args[0].equalsIgnoreCase("-t") && args.length > 1 && args.length < 4) { |
13 | | - testing(args[2], args[1]); |
| 14 | + try { |
| 15 | + if(args.length > 0) { |
| 16 | + if (args[0].equalsIgnoreCase("-s")) { |
| 17 | + server(); |
| 18 | + } else if (args[0].equalsIgnoreCase("-c") && args.length > 1 && args.length < 3) { |
| 19 | + client(args[2], args[1]); |
| 20 | + } else { |
| 21 | + System.out.println("Invalid entry. Useage: java javaFileSync [-s] [-c [server IP] [dir to sync]]"); |
| 22 | + } |
14 | 23 | } else { |
15 | 24 | System.out.println("Invalid entry. Useage: java javaFileSync [-s] [-c [server IP] [dir to sync]]"); |
16 | 25 | } |
17 | | - } else { |
18 | | - System.out.println("Invalid entry. Useage: java javaFileSync [-s] [-c [server IP] [dir to sync]]"); |
| 26 | + } catch (Exception e) { |
| 27 | + System.out.print(e.getMessage()); |
19 | 28 | } |
20 | 29 | } |
21 | 30 |
|
22 | | - public static void server(){ |
23 | | - System.out.println("Server selected!"); |
| 31 | + public static void server() throws Exception { |
| 32 | + System.out.println("Starting File Sync Server!"); |
| 33 | + |
| 34 | + ServerSocket servsock = new ServerSocket(17555); |
| 35 | + |
| 36 | + while (true) { |
| 37 | + Socket sock = servsock.accept(); |
| 38 | + |
| 39 | + ObjectInputStream ois = new ObjectInputStream(sock.getInputStream()); |
| 40 | + String baseDir = (String) ois.readObject(); |
| 41 | + |
| 42 | + File fBaseDir = new File(baseDir); |
| 43 | + |
| 44 | + if(fBaseDir.exists() && fBaseDir.isDirectory()){ |
| 45 | + System.out.println(baseDir + " is a directory and exists!"); |
| 46 | +/* System.out.print("Sending file '" + fileName + "' to: " + sock.getInetAddress() + "..."); |
| 47 | + ObjectOutputStream oos = new ObjectOutputStream(sock.getOutputStream()); |
| 48 | + oos.writeObject("1"); |
| 49 | + byte[] mybytearray = new byte[(int) f.length()]; |
| 50 | + BufferedInputStream bis = new BufferedInputStream(new FileInputStream(f)); |
| 51 | + bis.read(mybytearray, 0, mybytearray.length); |
| 52 | + OutputStream os = sock.getOutputStream(); |
| 53 | + os.write(mybytearray, 0, mybytearray.length); |
| 54 | + os.flush(); |
| 55 | + System.out.println(" DONE!"); |
| 56 | +*/ }else{ |
| 57 | + System.out.println(baseDir + " Exists?: " + fBaseDir.exists() + " IsDirectory?: " + fBaseDir.isDirectory()); |
| 58 | +/* System.out.println(sock.getInetAddress() + " requested " + fileName + ", but it does not exist!"); |
| 59 | + ObjectOutputStream oos = new ObjectOutputStream(sock.getOutputStream()); |
| 60 | + oos.writeObject("0"); |
| 61 | + oos.flush(); |
| 62 | +*/ } |
| 63 | + sock.close(); |
| 64 | + } |
24 | 65 | } |
25 | 66 |
|
26 | | - public static void client(String dirName, String serverIP){ |
| 67 | + public static void client(String dirName, String serverIP) { |
27 | 68 | System.out.println("Client Selected!"); |
28 | 69 | System.out.println("Dir to sync: " + dirName); |
29 | 70 | System.out.println("Server IP: " + serverIP); |
30 | 71 | } |
31 | 72 |
|
32 | | - public static void testing(String dirName, String serverIP){ |
33 | | - System.out.println("Secret Testing function!"); |
34 | | - File f = new File(dirName); |
35 | | - visitAllFiles(f); |
36 | | - } |
37 | | - |
38 | 73 | // Process all files and directories under dir |
39 | 74 | public static void visitAllDirsAndFiles(File dir) { |
40 | 75 | //process(dir); |
|
0 commit comments