开始我的第一篇博客
说说实现文本上传
首先是服务器端要接受客户端传来的数据,第二步将传来的数据写入到服务器的某个文件中,最后向客户端返回上传成功
<span style="font-size:14px;">System.out.println("服务器端启动...");
ServerSocket server = new ServerSocket(33333);
Socket s = server.accept();
System.out.println(s.getInetAddress().getHostAddress()+"连接到服务器端....");
//创建接收客户端数据的字符读取流
InputStream in = s.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(in));
//创建写入到服务器端的某个文件的字符输出流
FileWriter fw = new FileWriter("copy.java");
PrintWriter pw = new PrintWriter(fw,true);
//创建发送"上传成功"的字符输出流
OutputStream out =s.getOutputStream();
PrintWriter pww = new PrintWriter(out,true);
//循环读取客户端,写入到本地文件
String line = null;
while((line = br.readLine())!=null)//因为读取的是客户端,所以读不到null
{
pw.println(line);
}
//发送"上传成功"
pww.println("上传成功");
pw.close();
s.close();
</span>
接下来就是客户端先读取本地文件,然后向服务器端传入数据,最后接收是否上传成功
Socket socket = new Socket(InetAddress.getByName("10.0.185.144"),33333);
//创建读取本地文件的字符读取流
BufferedReader br =new BufferedReader(new FileReader("Demo1.java"));
//创建发送给服务器端数据的字符输出流
OutputStream out = socket.getOutputStream();
PrintWriter pw =new PrintWriter(out,true);
//创建读取"上传成功"的字符读取流
InputStream in = socket.getInputStream();
BufferedReader brr = new BufferedReader(new InputStreamReader(in));
//循环读取本地文件,并发送给服务器端
String line = null;
while((line = br.readLine())!=null)
{
pw.println(line);
}
//向服务器端写入结束标记
socket.shutdownOutput();
//读取"上传成功"
System.out.println(brr.readLine());
br.close();
socket.close();