import java.io.*;
import java.net.*;
class UploadThread implements Runnable //将上传封装到线程里
{
private Socket client;
public UploadThread(Socket s)
{
this.client=s;
}
public void run()
{
String ip = client.getInetAddress().getHostAddress(); //得到 IP地址
try {
BufferedInputStream sin = new BufferedInputStream(client.getInputStream()); //Socket 读取流
File file = new File ("C:\\1.jpg");
BufferedOutputStream fout = new BufferedOutputStream(new FileOutputStream(file)); // 文件输出流
byte buf[] = new byte[1024];
int len = 0;
System.out.println(ip+"...connecting...");
//开始从网络中读取数据
while((len = sin.read(buf))!=-1)
{
fout.write(buf,0,len);
}
//BufferedOutputStream sout = new BufferedOutputStream(client.getOutputStream());
PrintStream sout = new PrintStream(client.getOutputStream());
sout.write("发送成功".getBytes());
//sout.flush(); //虽然是字节流,但其用的是BufferedOutputStream
fout.close(
Java 服务器多线程处理文件上传
最新推荐文章于 2024-12-08 22:26:36 发布
本文详细探讨了如何使用Java实现一个支持多线程处理文件上传的服务器。通过创建专门的线程池来处理客户端的上传请求,提高了并发性能并有效管理资源。同时,文章还涵盖了异常处理和文件保存策略,确保了上传过程的稳定性和安全性。


1387

被折叠的 条评论
为什么被折叠?



