Может ли одна строка содержать несколько строк?
Например, если я назначу несколько строк в строку следующим образом:
while ((line = reader.readLine()) != null)
{
output += line + "\n";
}
Могу ли я вернуть вывод с разделителями строк как одну строку?
m написание программы Socket, в которой есть программа «Клиент и сервер», где клиент отправляет запрос на сервер, а сервер возвращает этот запрос в виде строки обратно клиенту, но некоторые строки представляют собой несколько строк.
Код программы сервера (часть кода):
if (clinetChoice.equals("3"))
{
String command = "free";
Process process = Runtime.getRuntime().exec(command);
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
System.out.println("You Chose Option Three");
String line;
while ((line = reader.readLine()) != null)
{
output += line;
System.out.println(line);
line = reader.readLine();
}
}
Код клиентской программы:
while ((fromServer = input.readLine())+"\n" != null)
{
System.out.println("Server: " + fromServer);
if (fromServer.equals("Bye"))
break;
System.out.print("Enter your choice: ");
fromClient = stdIn.readLine().trim();
if(fromClient.equals("1"))
{
System.out.println("Client: " + fromClient);
output.println(fromClient);
}
fromServer в клиентской программе выводится из серверной программы. Это прекрасно работает для вывода, что 'с одной строки, но если его несколько строк, я могуНе могу понять, как распечатать все сразу.
Так что, если вывод, например, равен:
One
Two
Three
Four
Это возвращается как это:
One
Enter your choice: (It prompts me for new command)
Two
Enter your choice:
Three
Enter your choice:
Four
Таким образом, он в основном печатает одну строку, спросите меня о новом выборе и неНезависимо от того, что я ввожу, он печатает вторую строку, затем третью строку и так далее, пока не достигнет последней строки, вместо того, чтобы печатать так:
One
Two
Three
Four
Enter your choice: