Я программирую небольшую сервер-клиентскую программу, которая отправляет текст от одного клиента, который пишет в файл, другим клиентам с тем же именем файла и получил следующее сообщение об ошибке При отправке целого с помощью PrintWriter с сервера на клиент невозможно разобрать синтаксический анализ
Но я просто послать целое и никаких других символов ...
Вот код:
сервера
String[] splitter = scanText.split("\n");
String length = splitter.length + "";
//sending scanText to clients
for (PrintWriter pw2 : userMap.get(filename)) {
if(!pw2.equals(pw))
{
pw2.println(length + "\n" + scanText);
}
}
Client
класс "UpdateInBackground" класс, который находится в клиент-класса
class UpdateInBackground extends Thread {
@Override
public void run() {
int lines; //to know how much lines are send from the server
String scanText;
while (!this.isInterrupted()) {
scanText = "";
lines = Integer.parseInt(sc.nextLine()); //here I get the error
while (lines-- > 0) {
scanText += sc.nextLine() + "\n";
}
output.setText(scanText);
}
}
}
Благодарим вас за ответ! Но почему персонажи, которые, очевидно, не могут быть показаны в выводе, находятся перед количеством строк (1)? – asparagus
Могу ли я узнать ваш вход (sc.nextLine()) или набор входов, поэтому я могу помочь вам в решении. – Rubal
, чтобы проверить ненужный символ, добавив его, просто распечатайте на консоли следующим образом: System.out.println (sc.nextLine(). Length), прежде чем разбирать его на Integer. – Rubal