废话不多说了,直接给大家贴代码了,具体代码如下所示:
包com.lanqiao.demo2; 进口java.io.BufferedInputStream; 进口java.io.FileInputStream; 进口java.io.IOException; 进口java.io.OutputStream; 进口java.net.ServerSocket; 进口java.net.Socket;/* * * @author * @version创建时间:2017年6月12日上午8:47:37 *类说明:服务端上传一个txt类型的文件 *注意:服务端是一直不关闭的 */公开课TestServer {//这个路径是我电脑上的一个记事本文件 私有静态最终字符串路径=" D: \ \ JavaFile_Test \ \测试\ \网上JDK环境变量配置. txt”; 公共静态void main (String [] args) { int数=0; OutputStream os=零; ServerSocket severscoket=零; 套接字s1=零; BufferedInputStream bis=零; int len=0; 尝试{//创建插座服务 severscoket=考察(8888); 而(真){//阻塞 s1=severscoket.accept ();//服务端被连接的次数 数+ +; system . out。println(“——服务端开启”+数+“次- - - - - -”);//服务端写入文件 操作系统=s1.getOutputStream ();//创建一个BufferedInputStream对象读取我电脑上的文件 bis=new BufferedInputStream(新FileInputStream(路径));//每次写入512个字节 byte [] b=新的字节[512]; 在((len=bis.read (b)) !=1) { 操作系统。写(b, 0, len); } s1.shutdownOutput (); os.flush (); } }捕捉(IOException e) {//TODO自动生成的catch块 e.printStackTrace (); 最后}{ 尝试{ 如果(os !=null) os.close (); }捕捉(IOException e) {//TODO自动生成的catch块 e.printStackTrace (); } } } } 包com.lanqiao.demo2; 进口java.io.BufferedInputStream; 进口java.io.IOException; 进口java.net.Socket;/* * * @author * @version创建时间:2017年6月12日上午9:04:36 *类说明:客户端打印出从服务端下载的三种内容 */公开课TestClient { 公共静态void main (String [] args) { BufferedInputStream bis=零; Socket套接字=零; int len=0; 尝试{//通过IP地址和端口号创建一个套接字对象 套接字=新的套接字(127.0.0.1,8888);//客户端读取文件 bis=new BufferedInputStream (socket.getInputStream ());//每次读512个字节 byte [] b=新的字节[512];//当读取的字节不为空循环打印下载的内容 在((len=bis.read (b)) !=1) { system . out。println(新字符串(b, 0, len)); } }捕捉(IOException e) {//TODO自动生成的catch块 e.printStackTrace (); 最后}{//关闭客户端的输入流对象和套接字对象 尝试{ 如果(bis !=null) bis.close (); 如果(套接字!=null) socket.close (); }捕捉(IOException e) {//TODO自动生成的catch块 e.printStackTrace (); } } } }
以上所述是小编给大家介绍的Java中插座下载一个文本文件,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!