private boolean sendFilesAndCloseSocket(List<String> selectedFiles,
			Socket socket) {
		boolean isSuccessful = false;
		int countFiles = selectedFiles.size();

		DataOutputStream tempDout = null;
		// DataOutputStream dataOutput = null;
		DataInputStream dataInput = null;
		try (DataOutputStream dataOutput = new DataOutputStream(
				socket.getOutputStream())) {
			tempDout = dataOutput;
			/**
			 * Запись числа добавленных файлов
			 */
			dataOutput.writeInt(countFiles);

			for (String s : selectedFiles) {

				File selectedFile = new File(s);
				/**
				 * Запись длины файла
				 */
				dataOutput.writeLong(selectedFile.length());
				/**
				 * Запись названия файла
				 */
				dataOutput.writeUTF(selectedFile.getName());
				byte[] buffer = new byte[65536];
				/**
				 * Создание потока ввода данных по объекту класса File
				 */
				FileInputStream fileInput = new FileInputStream(selectedFile);

				int count;

				while ((count = fileInput.read(buffer)) != -1) {
					dataOutput.write(buffer, 0, count);
				}
				/**
				 * Mетод для очистки буфера
				 */
				dataOutput.flush();

				try {
					fileInput.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}

			dataInput = new DataInputStream(socket.getInputStream());
			/**
			 * Читает и возвращает boolean-значение из входного потока
			 */
			isSuccessful = dataInput.readBoolean();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				if (tempDout != null) {
					tempDout.close();
				}
				if (dataInput != null) {
					dataInput.close();
				}
			} catch (IOException e) {
				e.printStackTrace();
			}

		}
		return isSuccessful;
	}