Mega Code Archive

 
Categories / Java / Network Protocol
 

Transfer a file via Socket

import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; public class Main {   public static void main(String[] args) throws IOException {     ServerSocket servsock = new ServerSocket(123456);     File myFile = new File("s.pdf");     while (true) {       Socket sock = servsock.accept();       byte[] mybytearray = new byte[(int) myFile.length()];       BufferedInputStream bis = new BufferedInputStream(new FileInputStream(myFile));       bis.read(mybytearray, 0, mybytearray.length);       OutputStream os = sock.getOutputStream();       os.write(mybytearray, 0, mybytearray.length);       os.flush();       sock.close();     }   } } The client module import java.io.BufferedOutputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.net.Socket; public class Main {   public static void main(String[] argv) throws Exception {     Socket sock = new Socket("127.0.0.1", 123456);     byte[] mybytearray = new byte[1024];     InputStream is = sock.getInputStream();     FileOutputStream fos = new FileOutputStream("s.pdf");     BufferedOutputStream bos = new BufferedOutputStream(fos);     int bytesRead = is.read(mybytearray, 0, mybytearray.length);     bos.write(mybytearray, 0, bytesRead);     bos.close();     sock.close();   } }