标签:exce cat red 文件 输出流 ack sock java.net cli
客户端import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.net.SocketException;
import java.net.UnknownHostException;
/**
*
* @author WangShuang
*
*/
public class ClientDemo {
public static void main(String[] args) throws SocketException {
Socket socket = null;
BufferedReader br =null;
try {
InetAddress byName = InetAddress.getByName("192.168.1.102");
//创建客户端socket服务,指定目的主机和端口
socket = new Socket(byName,9999);
//为了发送数据,应该获取socket流中的输出流,将数据写到该流中,通过网络发送给服务端
BufferedWriter bwsocket = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
//将硬盘中的文件读取到流中
br = new BufferedReader(new FileReader("c:\\文件上传.txt"));
String readLine = null;
while((readLine=br.readLine())!=null){
bwsocket.write(readLine);
bwsocket.newLine();
bwsocket.flush();
}
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
br.close();
//关闭客户端资源
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
服务端
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class ServiceDemo {
public static void main(String[] args) {
//创建服务端socket服务
ServerSocket serverSocket=null;
Socket socket =null;
BufferedWriter bw =null;
try {
serverSocket = new ServerSocket(9999);
//获取客户端socket对象
socket = serverSocket.accept();
BufferedReader brsocket = new BufferedReader(new InputStreamReader(socket.getInputStream()));
bw = new BufferedWriter(new FileWriter("d:\\文件上传.txt"));
String readLine=null;
while ((readLine=brsocket.readLine())!=null) {
bw.write(readLine);
}
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
bw.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
标签:exce cat red 文件 输出流 ack sock java.net cli
原文地址:http://blog.51cto.com/13579086/2069549