ここに私のリストがあります:
List<Form> to_be_sent=new ArrayList<Form>();
Form は、シリアライズ可能を実装し、文字列フィールドのみを含むクラスです。
私はこれを行うことができます:
ObjectOutputStream writer = new ObjectOutputStream(resp.getOutputStream());
writer.writeObject(to_be_sent);
writer.close();
ここに私のリストがあります:
List<Form> to_be_sent=new ArrayList<Form>();
Form は、シリアライズ可能を実装し、文字列フィールドのみを含むクラスです。
私はこれを行うことができます:
ObjectOutputStream writer = new ObjectOutputStream(resp.getOutputStream());
writer.writeObject(to_be_sent);
writer.close();
できます!
これは、リストをシリアル化し、ソケット接続を介して送信し、もう一方の端で逆シリアル化して、到着したものを出力する、最小限の実用的な実装です。
public static void main(String[] args) throws Exception {
List<String> list = Arrays.asList("one", "two", "three");
Thread serverThread = new Thread(new Runnable() {
public void run() {
try {
InputStream in = new ServerSocket(999).accept().getInputStream();
Object object = new ObjectInputStream(in).readObject();
System.out.println(object.getClass() + ": " + object);
} catch (Exception e) {
e.printStackTrace();
}
}
});
serverThread.start();
Socket socket = new Socket("localhost", 999);
new ObjectOutputStream(socket.getOutputStream()).writeObject(list);
serverThread.join();
}
出力:
class java.util.Arrays$ArrayList: [one, two, three]