阅读背景:

使用C/S结构实现客户端上传本地文件到服务器

来源:互联网 

客户端:

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



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: