A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

实现功能:从服务器端发送字符串hello world到客户端所在电脑的d:目录下的temp.txt 文件中
先运行服务器程序 java HelloServer
再运行客户端程序java HelloClient
在D盘中就会得到一个写有hello world 的temp.txt文档
可以在次基础上在服务器端读取txt文档内容,然后通过socket传到客户端的目录下,相当于文件的复制功能

客户端:
import java.io.InputStream;
import java.io.OutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.net.Socket;
import java.util.Scanner;
import java.io.FileWriter;
class  HelloClient
{
        public static void main(String[] args)throws Exception
        {
                Socket client =new Socket("localhost",9999);//定义一个客户端对象,ip为本机,端口为:9999
                InputStream input =client.getInputStream();// 定义一个输入流对象,读取数据
                Scanner scan=new Scanner(input);//通过Scanner将流接受
                scan.useDelimiter("\n");
                File file=new File("d:"+File.separator+"temp.txt");//新建一个文件
                OutputStream out=new FileOutputStream(file);//关联文件到字符输出流
                byte data[]=scan.next().getBytes();//将获得的字符串转成字符数组
                out.write(data);//写入数据
                scan.close();
                client.close();
                input.close();

        }
}

服务器端:
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
class  HelloServer
{
        public static void main(String[] args)throws Exception
        {
                ServerSocket server=new ServerSocket(9999);//开启9999端口作为服务器端口
                System.out.println("等待客户端链接....");
                Socket client=server.accept();//简历客户端的对象并关联服务器
                PrintStream out=new PrintStream(client.getOutputStream());//定义一个网络输出流到客户端
                out.print("hello world");//输出hello world
                out.close();
                client.close();
                server.close();
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马