帮我用Java写上传文件代码
时间: 2023-08-28 08:15:41 浏览: 98
全面分析Java文件上传
好的,以下是一个基本的 Java 上传文件代码示例:
```java
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;
@WebServlet("/upload")
public class FileUploadServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取上传文件的部件(Part)
Part filePart = request.getPart("file");
// 获取上传文件名
String fileName = Paths.get(filePart.getSubmittedFileName()).getFileName().toString();
// 获取保存上传文件的目录
String savePath = request.getServletContext().getRealPath("/WEB-INF/uploads");
// 如果目录不存在,创建它
File saveDir = new File(savePath);
if (!saveDir.exists()) {
saveDir.mkdirs();
}
// 获取上传文件的输入流
InputStream inputStream = filePart.getInputStream();
// 保存上传文件到指定目录
Path filePath = Paths.get(savePath, fileName);
Files.copy(inputStream, filePath, StandardCopyOption.REPLACE_EXISTING);
// 操作完成后,显示上传成功的消息
response.getWriter().println("上传成功!");
}
}
```
上述代码使用了 Java Servlet API 实现了文件上传功能。在 doPost() 方法中,获取上传文件的部件(Part),然后获取上传的文件名和保存文件的目录。如果目录不存在,就创建它。最后,将上传的文件保存到指定目录。
阅读全文