Вы отправляете все команды на сервер, и ваш сервер ищет только «СПИСОК» как специальную команду, все остальное будет обрабатываться частью «Эхо».
if (data == null) {
continue;
}
if (data.equals("LIST")) {
writer.write(mycount + "\n" + "150 - Transfer Initiated." + "\n" +
"DATA " + returnDirectoryList().getBytes().length + "\n" +
returnDirectoryList() + "\r\n");
} else {
writer.write("Server Echos to " + mycount + ":" + data + "\n" + "This is a new line." + "\r\n");
}
Я пробовал с вашим кодоми небольшие изменения выше (так как я получил NPE) и вывод выглядит как
SERVERSIDE:
Server waiting for client on port 7777
New connection accepted /127.0.0.1: 52889
Received from 1:peter
Received from 1:LIST
СТОРОНА КЛИЕНТА:
Connected to server localhost/127.0.0.1: 7777
local port is 52889
Text to the server? peter
Received from the Server: Server Echos to 1:peter
This is a new line.
Text to the server? LIST
Received from the Server: 1
150 - Transfer Initiated.
DATA 6
Files
Text to the server?
Разве это неожидаемое поведение?