2
我一直試圖通過套接字連接使用PrintWriter/BufferedWriter發送多個屬性實例來發送和InputStreamReader讀取,所有發送和接收循環。通過streamreader讀取多個java屬性
發件人:
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
for (int i = 0; i < vector.size(); i++) {
Properties mail = (Properties) vec.get(i);
mail.store(bw, line);
bw.newLine();
bw.flush();
}
接收機:
ireader = new InputStreamReader(socket.getInputStream());
Properties[] mails=new Properties[c];
for (int i = 0; i < c; i++) {
Properties p;// = new Properties();
mails[i] = new Properties();
mails[i].load(ireader);
}
但我只收到的最後一個Properties對象以後,才整個循環與進行接收發送。這意味着接收器正在加載,直到socket最終關閉。文檔確實說,對於load(),底層的讀者在返回後保持打開狀態,但我想我已經錯過了解釋「何時」實際返回的部分。我怎樣才能讀一個流的多個屬性?
是的。我能夠實現的唯一方法是重新連接套接字。我習慣了蟒蛇的醬菜。我想我應該一直使用序列化。 – aksci