Java 文件上传代码实列
时间: 2023-07-28 21:09:28 浏览: 104
java上传文件代码
5星 · 资源好评率100%
以下是一个简单的Java文件上传的代码示例:
```java
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class FileUploadServer {
public static void main(String[] args) {
int port = 8888;
try {
ServerSocket serverSocket = new ServerSocket(port);
System.out.println("服务器已启动,等待客户端连接...");
while (true) {
Socket socket = serverSocket.accept();
System.out.println("客户端已连接:" + socket.getRemoteSocketAddress());
// 创建线程处理客户端请求
Thread thread = new Thread(() -> {
try {
// 获取输入流
InputStream inputStream = socket.getInputStream();
// 创建存储文件的目录(如果不存在)
File directory = new File("upload");
if (!directory.exists()) {
directory.mkdir();
}
// 创建文件输出流
String fileName = "upload/" + System.currentTimeMillis() + ".txt";
OutputStream outputStream = new FileOutputStream(fileName);
// 读取输入流中的数据,并写入文件输出流
byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, length);
}
// 关闭输入流和输出流
inputStream.close();
outputStream.close();
System.out.println("文件上传成功:" + fileName);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
});
thread.start();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这段代码实现了一个简单的文件上传服务器。它通过ServerSocket监听指定端口,接受客户端的连接请求。当客户端连接成功后,服务器会创建一个新的线程来处理客户端的请求。在处理请求的线程中,它通过Socket获取输入流,然后将输入流中的数据写入文件输出流,最后关闭输入流和输出流。文件会保存在当前目录下的"upload"文件夹中,文件名以时间戳命名。
请注意,这只是一个简单示例,并没有考虑到安全性和错误处理等方面。在实际使用中,需要根据需求进行适当的改进和完善。
阅读全文