如何用java将从tcp/ip服务器接收到的数据保存到文本文件中
我用java在Socket网络中编写了一个小程序,该程序使用IP地址和端口号与服务器通信。现在,将连续接收来自服务器的数据。我希望从服务器接收到的所有这些数据都存储在一个文本文件中,但不知道如何在应用程序不挂起的情况下执行 这是我的密码:如何用java将从tcp/ip服务器接收到的数据保存到文本文件中,java,sockets,networking,tcpclient,Java,Sockets,Networking,Tcpclient,我用java在Socket网络中编写了一个小程序,该程序使用IP地址和端口号与服务器通信。现在,将连续接收来自服务器的数据。我希望从服务器接收到的所有这些数据都存储在一个文本文件中,但不知道如何在应用程序不挂起的情况下执行 这是我的密码: public class Client { public Client() { try { //ceating the socket to connect tso server runn
public class Client
{
public Client()
{
try
{
//ceating the socket to connect tso server running on same machine binded on port no 3000
Socket client=new Socket("localhost",3000);
System.out.println("Client connected ");
//getting the o/p stream of that connection
PrintStream out=new PrintStream(client.getOutputStream());
//sending the message to server
out.print("Hello from client\n");
out.flush();
//reading the response using input stream
BufferedReader in= new BufferedReader(new InputStreamReader(client.getInputStream()));
System.out.println(in.readLine());
//closing the streams
in.close();
out.close();
}
catch(Exception err)
{
System.err.println("* err"+err);
}
}
public static void main(String a[])
{
new Client();
}
}
提前谢谢。我有一个经过测试的代码。试试这个
StringBuffer instr = new StringBuffer();
/** Establish a socket connetion with the server*/
Socket connection = new Socket(address, port);
/** Instantiate a BufferedOutputStream object */
BufferedOutputStream bos = new BufferedOutputStream(connection.getOutputStream());
/** Instantiate an OutputStreamWriter object with the optional character
* encoding. Sending some message to server
*/
OutputStreamWriter osw = new OutputStreamWriter(bos, "US-ASCII");
String process = "SAMPLE COMMAND SENT TO SERVER"+(char)13;
/** Write across the socket connection and flush the buffer */
osw.write(process);
osw.flush();
// NOW READING THE RESPONSE FROM THE SERVER
// I HAVE ADDED THE CHAR(13) as the delimiter here
/** Instantiate a BufferedInputStream object for reading
/** Instantiate a BufferedInputStream object for reading
* incoming socket streams.
*/
BufferedInputStream bis = new BufferedInputStream(connection.getInputStream());
/**Instantiate an InputStreamReader with the optional
* character encoding.
*/
InputStreamReader isr = new InputStreamReader(bis, "US-ASCII");
/**Read the socket's InputStream and append to a StringBuffer */
int c;
while((c=isr.read())!=13)
instr.append((char)c);
/** Close the socket connection. */
connection.close();
先生,谢谢您的回复,因为我对socket编程非常陌生。请您指导我如何将live stringbuffer数据保存到文本文件中。非常简单,从本网站了解有关文件编写的信息: