客户端:
package cn.kgc.cs01;
import java.io.*;
import java.net.Socket;
public class Demo01_Client {
public static void main(String[] args) {
try {
//创建客户端socket对象
Socket socket = new Socket("localhost",8888);
//获得网络字节输出流,用来把本地文件写到服务器端内存
OutputStream os = socket.getOutputStream();
//创建本地字节输入流,用来把本地文件读到客户端内存
FileInputStream fis = new FileInputStream("h:\a.jpg");
//采用数组使读写效率更高
byte[]bytes=new byte[1024];
int len=0;
//当本地字节流在读取完数组中的最后一个元素时,会返回-1
while((len=fis.read(bytes))!=-1){
//网络字节流把读到的文件写到服务器端内存
os.write(bytes,0,len);
}
//关闭服务器端的读写循环
socket.shutdownOutput();
//创建网络字节输入流,来获得服务器端的反馈
InputStream is = socket.getInputStream();
int read = is.read(bytes);
//将读到的字节数组转成字符串输出
System.out.println(new String(bytes,0,read));
//释放资源
is.close();
os.close();
fis.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
package cn.kgc.cs01;
import java.io