读取一个本地文本文件,将数据发送到服务端,服务器端对数据进行存储。 存储完毕后,给客户端一个提示。
//要搞清楚源和目的
///客户端//
public class UploadTextClient {public static void main(String[] args) throws IOException {
Socket s=new Socket("127.0.0.1",8888);
//读取本地文本文件,向服务器端发送---io
//源: Reader r = new FileReader();//文本文件用Reader和Write
//目的: OutputStream out = s.getOutputStream();//发送用File
BufferedReader br=new BufferedReader(new FileReader("file\\print.txt"));//读文件
PrintWriter out=new PrintWriter(s.getOutputStream(),true);
String str=null;
while((str=br.readLine())!=null){
out.println(str);
}
s.shutdownOutput();//系统写的中标记函数
InputStream in=s.getInputStream();//接收服务器传过来的成功信息
BufferedReader br2=new BufferedReader(new InputStreamReader(in));
String echo=br2.readLine();//因为穿过来的语句不打所以就直接用读
System.out.println(echo);
s.close();
}
}
服务器
public static void main(String[] args) throws IOException {
ServerSocket server=new ServerSocket(8888);//接端口
Socket s=server.accept();
//读取客户端上传的文件且存储到本地---io
//源: InputStream in = s.getInputStream(); //用Reader读
//目的: FileWriter
//是否需要其它功能
// FileWriter <-- InputStreamReader(in) <--BufferedReader
// FileWriter<-- PrintWriter(... )
BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream()));
//加了缓存一般格式Buffered+源(Reader)
PrintWriter out=new PrintWriter(new FileWriter("file\\sever.txt"));String str=null;
while((str=br.readLine())!=null){
out.print(str);
out.flush();
}
OutputStream out2=s.getOutputStream();//回馈信息
PrintWriter pw=new PrintWriter(out2, true);pw.println("上传成功");
s.close();
server.close();
}
}