Skip to content
Snippets Groups Projects
Commit 5f0d6e90 authored by ik1g19's avatar ik1g19
Browse files

add file transfer

parent dd7fc749
No related branches found
No related tags found
No related merge requests found
File added
import java.io.*;
import java.net.*;
public class FTClient {
public static void main(String[] args) throws IOException {
System.out.println(args[0] + " " + args[1] + " " + args[2] + " " + args[3]);
if (args[1].equals("put")) {
File inputFile = new File(args[2]);
FileInputStream in = new FileInputStream(inputFile);
try {
Socket socket = new Socket(args[0], 4323);
OutputStream out = socket.getOutputStream();
out.write(("put" + " " + args[3] + " ").getBytes());
byte[] buf = new byte[1000];
int buflen;
while ((buflen = in.read(buf)) != -1) {
System.out.print("*");
out.write(buf, 0, buflen);
}
out.close();
} catch (Exception e) {
System.out.println("error" + e);
}
System.out.println(); in .close();
}
else if(args[1].equals("get")) {
File outputFile = new File(args[2]);
FileOutputStream outf = new FileOutputStream(outputFile);
try {
Socket socket = new Socket(args[0], 4323);
OutputStream out = socket.getOutputStream();
InputStream in = socket.getInputStream();
out.write(("get" + " " + args[3] + " ").getBytes());
byte[] buf = new byte[1000];
int buflen;
while ((buflen = in.read(buf)) != -1) {
System.out.print("*");
outf.write(buf, 0, buflen);
}
out.close();
in.close();
} catch (Exception e) {
System.out.println("error" + e);
}
System.out.println();
outf.close();
}
else System.out.println("unrecognised command");
}
}
\ No newline at end of file
File added
import java.io.*;
import java.net.*;
public class FTServer {
public static void main(String[] args) throws IOException {
try {
ServerSocket ss = new ServerSocket(4323);
for (;;) {
try {
System.out.println("waiting for connection");
Socket client = ss.accept();
System.out.println("connected");
InputStream in = client.getInputStream();
byte[] buf = new byte[1000];
int buflen;
buflen = in.read(buf);
String firstBuffer = new String(buf, 0, buflen);
int firstSpace = firstBuffer.indexOf(" ");
String command = firstBuffer.substring(0, firstSpace);
System.out.println("command " + command);
if (command.equals("put")) {
int secondSpace = firstBuffer.indexOf(" ", firstSpace + 1);
String fileName = firstBuffer.substring(firstSpace + 1, secondSpace);
System.out.println("fileName " + fileName);
File outputFile = new File(fileName);
FileOutputStream out = new FileOutputStream(outputFile);
out.write(buf, secondSpace + 1, buflen - secondSpace - 1);
while ((buflen = in.read(buf)) != -1) {
System.out.print("*");
out.write(buf, 0, buflen);
}
in.close();
client.close();
out.close();
}
else if(command.equals("get")) {
int secondSpace = firstBuffer.indexOf(" ", firstSpace + 1);
String fileName = firstBuffer.substring(firstSpace + 1, secondSpace);
System.out.println("fileName " + fileName);
File inputFile = new File(fileName);
FileInputStream inf = new FileInputStream(inputFile);
OutputStream out = client.getOutputStream();
while ((buflen = inf.read(buf)) != -1) {
System.out.print("*");
out.write(buf, 0, buflen);
}
in.close();
inf.close();
client.close();
out.close();
}
else System.out.println("unrecognised command");
} catch (Exception e) {
System.out.println("error " + e);
}
}
} catch (Exception e) {
System.out.println("error " + e);
}
System.out.println();
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment