利用socket上传文件

来源:互联网 发布:二进制数组转字符串 编辑:程序博客网 时间:2024/05/19 17:52
//客户端
package cn.hncu.tcp.upload;import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintWriter;import java.net.Socket;import java.net.UnknownHostException;public class UploadTextClient {public static void main(String[] args) {        try {Socket s=new Socket("127.0.0.1", 10007);//思路:读取本地文件的数据,通过s.getoutputSstream发送出去BufferedReader br=new BufferedReader(new FileReader("tempFiles\\client.txt"));String line=null;//****注意:使用PrintWriter流时必须刷新,否则数据为空,坑了好久PrintWriter pw=new PrintWriter(s.getOutputStream(),true);//打印流,网页中常用。建议不要使用BuffeeredReaderwhile((line=br.readLine())!=null){//out.write(line.getBytes());//System.out.println(line);pw.println(line);}s.shutdownOutput();br.close();//pw.println("over");//System.out.println("到这里来");BufferedReader br2=new BufferedReader(new InputStreamReader(s.getInputStream()));System.out.println(br2.readLine());s.close();br2.close();} catch (UnknownHostException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}        }}
//服务器端
<pre class="java" name="code">package cn.hncu.tcp.upload;import java.io.BufferedReader;import java.io.FileWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;public class UploadTextServer {public static void main(String[] args) {    try {ServerSocket server=new ServerSocket(10007);Socket s=server.accept();//读取客户端的数据BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream()));String line="";PrintWriter pw=new PrintWriter(new FileWriter("tempFiles\\server.txt"),true);//System.out.println(pw);while((line=br.readLine())!=null){//System.out.println("不为空");//if("over".equals(line)){//System.out.println("overLailema");//break;//}pw.println(line);} pw.close();  PrintWriter pw2=new PrintWriter(s.getOutputStream()); pw2.println("上传成功"); pw2.close();} catch (IOException e) {e.printStackTrace();}    }}


1 0
原创粉丝点击