黑马程序员技术交流社区
标题:
看了IO和网络资料上改了一个网络写数据到文档的程序
[打印本页]
作者:
godboy001
时间:
2015-8-12 21:11
标题:
看了IO和网络资料上改了一个网络写数据到文档的程序
实现功能:从服务器端发送字符串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();
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2