-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathRmiImplementation.java
91 lines (64 loc) · 2.15 KB
/
RmiImplementation.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
//This class contains implementation of all the functionalities provided to the client.
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
public class RmiImplementation extends UnicastRemoteObject implements RmiInterface, Serializable{
protected RmiImplementation(String s) throws RemoteException {
File storageDir = new File (s);
storageDir.mkdir();
}
public void uploadFileToServer(byte[] mydata, String serverpath, int length) throws RemoteException {
try {
File serverpathfile = new File(serverpath);
FileOutputStream out=new FileOutputStream(serverpathfile);
byte [] data=mydata;
out.write(data);
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("Done writing data...");
}
public byte[] downloadFileFromServer(String serverpath) throws RemoteException {
byte [] mydata;
File serverpathfile = new File(serverpath);
mydata=new byte[(int) serverpathfile.length()];
FileInputStream in;
try {
in = new FileInputStream(serverpathfile);
try {
in.read(mydata, 0, mydata.length);
} catch (IOException e) {
e.printStackTrace();
}
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
return mydata;
}
public String[] listFiles(String serverpath) throws RemoteException {
File serverpathdir = new File(serverpath);
return serverpathdir.list();
}
public boolean createDirectory(String serverpath) throws RemoteException {
File serverpathdir = new File(serverpath);
return serverpathdir.mkdir();
}
public boolean removeDirectoryOrFile(String serverpath) throws RemoteException {
File serverpathdir = new File(serverpath);
return serverpathdir.delete();
}
}