下面详细讲解一下Java文件上传(单文件、多文件)与删除的完整攻略。
文件上传
单文件上传
单文件上传是指用户选择一个文件并上传到服务器。下面是代码示例。
HTML部分
<form action="upload" method="post" enctype="multipart/form-data">
<label for="file">Select a file:</label>
<input type="file" id="file" name="file"><br><br>
<input type="submit" value="Submit">
</form>
Java Servlet部分
@WebServlet("/upload")
@MultipartConfig
public class UploadFileServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
Part part = request.getPart("file");
String fileName = part.getSubmittedFileName();
InputStream fileContent = part.getInputStream();
// 文件上传代码
// ...
out.println("文件上传成功!");
}
}
多文件上传
多文件上传是指用户选择多个文件并将它们一起上传到服务器。下面是代码示例。
HTML部分
<form action="upload" method="post" enctype="multipart/form-data">
<label for="files">Select files:</label>
<input type="file" id="files" name="files" multiple><br><br>
<input type="submit" value="Submit">
</form>
Java Servlet部分
@WebServlet("/upload")
@MultipartConfig
public class UploadFileServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
List<Part> fileParts = request.getParts().stream().filter(part -> "files".equals(part.getName()))
.collect(Collectors.toList());
for (Part part : fileParts) {
String fileName = part.getSubmittedFileName();
InputStream fileContent = part.getInputStream();
// 文件上传代码
// ...
}
out.println("文件上传成功!");
}
}
文件删除
文件删除是指用户删除服务器上的一个或多个文件。下面是代码示例。
public boolean deleteFile(String path) {
File file = new File(path);
if (file.exists()) {
file.delete();
return true;
} else {
return false;
}
}
以上代码中,path
参数是文件路径,delete()
方法用于删除文件,返回true
表示删除成功,返回false
表示文件不存在。
另外,需要注意的是,删除文件时需要考虑到文件权限问题,需要确保当前用户有足够的权限删除文件。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java文件上传(单文件 多文件)与删除 - Python技术站