700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Java多线程实现文件上传

Java多线程实现文件上传

时间:2024-05-04 18:43:32

相关推荐

Java多线程实现文件上传

import java.io.*;import .Socket;/*客户端:数据来自于文本文件,接收服务器反馈*/public class ClientDemo {public static void main(String[] args) throws IOException {//创建客户端Socket对象Socket s = new Socket("192.168.1.66",10000);//封装文本文件的数据BufferedReader br = new BufferedReader(new FileReader("myNet\\InetAddressDemo.java"));//封装输出流写数据BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));String line;while ((line=br.readLine())!=null) {bw.write(line);bw.newLine();bw.flush();}s.shutdownOutput();//接收反馈BufferedReader brClient = new BufferedReader(new InputStreamReader(s.getInputStream()));String data = brClient.readLine(); //等待读取数据System.out.println("服务器的反馈:" + data);//释放资源br.close();s.close();}}

import java.io.IOException;import .ServerSocket;import .Socket;/*服务器:接收到的数据写入文本文件,给出反馈,代码用线程进行封装,为每一个客户端开启一个线程*/public class ServerDemo {public static void main(String[] args) throws IOException {//创建服务器Socket对象ServerSocket ss = new ServerSocket(10000);while (true) {//监听客户端连接,返回一个对应的Socket对象Socket s = ss.accept();//为每一个客户端开启一个线程new Thread(new ServerThread(s)).start();}// ss.close();}}

import java.io.*;import .Socket;public class ServerThread implements Runnable {private Socket s;public ServerThread(Socket s) {this.s = s;}@Overridepublic void run() {try {//接收数据写到文本文件BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));// BufferedWriter bw = new BufferedWriter(new FileWriter("myNet\\Copy.java"));//解决名称冲突问题int count = 0;File file = new File("myNet\\Copy["+count+"].java");while (file.exists()) {count++;file = new File("myNet\\Copy["+count+"].java");}BufferedWriter bw = new BufferedWriter(new FileWriter(file));String line;while ((line=br.readLine())!=null) {bw.write(line);bw.newLine();bw.flush();}//给出反馈BufferedWriter bwServer = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));bwServer.write("文件上传成功");bwServer.newLine();bwServer.flush();//释放资源s.close();} catch (IOException e) {e.printStackTrace();}}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。