Skip to content

Commit 8f9c485

Browse files
author
quaa
committed
Simple sockets to check if a base directory exists
1 parent 1a33066 commit 8f9c485

File tree

2 files changed

+53
-18
lines changed

2 files changed

+53
-18
lines changed

bin/javaFileSync.class

824 Bytes
Binary file not shown.

src/javaFileSync.java

Lines changed: 53 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,75 @@
1+
import java.io.BufferedInputStream;
12
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;
29

310

411
public class javaFileSync {
512

613
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+
}
1423
} else {
1524
System.out.println("Invalid entry. Useage: java javaFileSync [-s] [-c [server IP] [dir to sync]]");
1625
}
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());
1928
}
2029
}
2130

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+
}
2465
}
2566

26-
public static void client(String dirName, String serverIP){
67+
public static void client(String dirName, String serverIP) {
2768
System.out.println("Client Selected!");
2869
System.out.println("Dir to sync: " + dirName);
2970
System.out.println("Server IP: " + serverIP);
3071
}
3172

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-
3873
// Process all files and directories under dir
3974
public static void visitAllDirsAndFiles(File dir) {
4075
//process(dir);

0 commit comments

Comments
 (0)