我已經連接到一個已經存在的服務器,它包含我需要讀入的字符串行。假設我只需要讀取字符串類型,哪個輸入讀取器可以在這裏工作,在我的While循環中按行逐行?這裏是我的簡單客戶端:如何讀取服務器的輸入行? (java客戶端控制檯應用程序)
public class Client
{
public static final int PORT_NUMBER = 8888;
public static void main(String[] args)
{
int port = PORT_NUMBER;
String content;
OutputStream output;
InputStream input;
Socket s = null;
try
{
s = new Socket("server.example.exp", port);
output = s.getOutputStream();
input = s.getInputStream();
System.out.println("Connected to " + s.getInetAddress() + " on port " + s.getPort());
}
catch (IOException e) {System.err.println(e);}
while (true)
{
try
{
//read next line from server
}
catch (EOFException eof){
System.out.println("eof encountered" + eof.getMessage());
break;
}
catch (OptionalDataException ode){System.out.println("OptionalDataException" + ode.getMessage());}
catch (IOException ioe){System.out.println("IOException on read object");}
catch (ClassNotFoundException cnf){System.out.println("ClassNotFoundException");}
}
}
}
我知道這是一個非常基本的問題,我只是遇到了麻煩,是一切。我很感激任何澄清。謝謝。
你已經獲得了所需的'InputStream',但不能保證它在進入while循環時有效。那麼你的問題是什麼? – Sinkingpoint 2013-04-21 03:57:17
對不起,我知道它目前缺乏驗證。只是一個可以學習的骨架。 我的問題是我如何使用該InputStream對象來readNextLine?可用的方法 - 比如read() - 只返回int。 – user2303598 2013-04-21 04:02:23
首先查看[Basic I/O](http://docs.oracle.com/javase/tutorial/essential/io/)和[All about sockets](http://docs.oracle.com/) javase/tutorial/networking/sockets /) – MadProgrammer 2013-04-21 04:06:38