Advertisement
Guest User

Server

a guest
Apr 23rd, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.83 KB | None | 0 0
  1. import java.io.*;
  2. import java.net.*;
  3. import java.util.*;
  4. import java.util.concurrent.*;
  5. import javafx.stage.FileChooser;
  6.  
  7.  
  8. public class FlieServer extends Thread{
  9.  
  10. Socket s;
  11. public FlieServer(Socket s) {
  12. this.s = s;
  13. }
  14. public void run(){
  15. try {
  16. InputStream in = s.getInputStream();
  17. OutputStream out = s.getOutputStream();
  18. BufferedReader br = new BufferedReader(
  19. new InputStreamReader(
  20. s.getInputStream()));
  21. PrintWriter pw = new PrintWriter(out);
  22. String msg = br.readLine();
  23. if(msg.equals("list")){
  24. File f = new File("D:\\papapo\\flie");
  25. String[] filename = f.list() ;
  26. for(int i =0 ; i < filename.length ; i++){
  27. pw.println(filename[i]);}
  28. }
  29. else if(msg.equals("upload")){
  30. String filename = br.readLine();
  31. File f = new File("D:\\papapo\\flie\\"+filename);
  32. pw.println("Uploading...");
  33. pw.flush();
  34. FileOutputStream fout = new FileOutputStream(f);
  35. byte[] b = new byte[65536];
  36. int size ;
  37. while((size = in.read(b)) > 0){
  38. fout.write(b, 0 , size);
  39. }
  40. fout.flush();
  41. fout.close();
  42. }
  43. else if(msg.equals("download")){
  44. String filename = br.readLine();
  45. File f = new File("D:\\papapo\\flie\\"+filename);
  46.  
  47. if(!f.exists()){
  48. pw.println("NOK");
  49. pw.flush();}
  50. else{
  51. pw.println("OK");
  52. pw.flush();
  53. FileInputStream fin = new FileInputStream(f);
  54. byte[] buffer = new byte[65536];
  55. int size;
  56. while((size = fin.read(buffer))> 0) {
  57. out.write(buffer, 0, size);
  58. }
  59. out.flush();
  60. }
  61. }
  62. pw.flush();
  63. in.close();
  64. out.close();
  65. br.close();
  66. s.close();
  67. } catch(Exception e){e.printStackTrace();}
  68. }
  69. public static void main(String[] args) {
  70.  
  71. ServerSocket serv = null ;
  72. ExecutorService es = Executors.newFixedThreadPool(10);
  73.  
  74. try {
  75. serv = new ServerSocket(6789) ;
  76. while (true) {
  77. Socket s = serv.accept();
  78. FlieServer fs = new FlieServer(s);
  79. es.execute(fs);
  80. }
  81. } catch(Exception e) {e.printStackTrace();}
  82. }
  83.  
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement