Guest User

Untitled

a guest
Dec 9th, 2016
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.74 KB | None | 0 0
  1. public class Server {
  2.  
  3. public static void main(String[] args) {
  4. Server server = new Server();
  5.  
  6. server.initServerSocket();
  7. server.initSocket();
  8. server.download("root.txt");
  9. }
  10.  
  11. private ServerSocket serverSocket;
  12. private Socket socket;
  13.  
  14. private void initServerSocket() {
  15. try {
  16. this.serverSocket = new ServerSocket(5213);
  17. } catch (IOException e) {
  18. e.printStackTrace();
  19. }
  20. }
  21.  
  22. private void initSocket() {
  23. try {
  24. this.socket = this.serverSocket.accept();
  25. } catch (IOException e) {
  26. e.printStackTrace();
  27. }
  28. }
  29.  
  30. private void download(String nameFile) {
  31. try (InputStream input = this.socket.getInputStream()){
  32. // available() - возвращает колличество сейчас доступных байтов
  33. byte[] buffer = new byte[input.available()];
  34. // читаем
  35. int i = input.read(buffer);
  36. while (i != -1) {
  37. System.out.println("1.6"); // ВОТ ТУТ НЕ ВЫХОДИТ ИЗ ЦИКЛА
  38. i = input.read(buffer);
  39. }
  40. this.createFile(nameFile,buffer);
  41. } catch (IOException e) {
  42. e.printStackTrace();
  43. }
  44. }
  45.  
  46. private boolean createFile(String nameFile, byte[] buffer) {
  47. File file = new File(format("%s/%s",Paths.REPO.getPath(),nameFile));
  48. if (!file.exists()) {
  49. try (OutputStream out = new FileOutputStream(file)) {
  50. System.out.println("1.8");
  51. out.write(buffer);
  52. } catch (IOException e) {
  53. e.printStackTrace();
  54. }
  55. }
  56. return file.exists();
  57. }
  58. }
  59.  
  60. public class Client {
  61. public static void main(String[] args) {
  62. int port = 5213;
  63. String address = "127.0.0.1";
  64. Client client = new Client();
  65. client.initSocket(address,port);
  66. client.upload("/Users/pavel/Desktop/test/client/root.txt");
  67.  
  68. }
  69.  
  70. private Socket socket;
  71.  
  72. private void initSocket(String address, int port) {
  73. try {
  74. this.socket = new Socket(address, port);
  75. } catch (IOException e) {
  76. e.printStackTrace();
  77. }
  78. }
  79.  
  80. private void upload(String path) {
  81. try (OutputStream out = this.socket.getOutputStream();
  82. FileInputStream fileIn = new FileInputStream(new File(path));
  83. BufferedInputStream buffer = new BufferedInputStream(fileIn)) {
  84.  
  85. byte[] bytes = new byte[(int) new File(path).length()];
  86. buffer.read(bytes, 0, bytes.length);
  87. out.write(bytes, 0, bytes.length);
  88. } catch (IOException e) {
  89. e.printStackTrace();
  90. }
  91. }
  92. }
Add Comment
Please, Sign In to add comment