通过java生成txt文件并且写入一些数据 并且下载下来
时间: 2024-01-23 13:04:19 浏览: 69
Java创建文件且写入内容的方法
5星 · 资源好评率100%
要实现文件下载,需要使用Java Web技术。以下是一个示例代码:
```java
import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/download")
public class FileDownloadServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private static final String FILE_PATH = "example.txt"; // 要下载的文件路径
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
File file = new File(FILE_PATH);
// 设置响应头,使浏览器能够识别下载文件
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment; filename=\"" + file.getName() + "\"");
response.setContentLength((int) file.length());
// 将文件内容写入响应输出流中
FileInputStream fileInputStream = new FileInputStream(file);
OutputStream outputStream = response.getOutputStream();
byte[] buffer = new byte[4096];
int length = 0;
while ((length = fileInputStream.read(buffer)) > 0) {
outputStream.write(buffer, 0, length);
}
outputStream.flush();
outputStream.close();
fileInputStream.close();
}
}
```
在上述代码中,我们首先指定要下载的文件路径为example.txt。然后,我们使用HttpServlet类创建一个Servlet,并在doGet()方法中实现文件下载逻辑。
在doGet()方法中,我们首先获取要下载的文件对象,并设置响应头,使浏览器能够识别下载文件。然后,我们将文件内容写入响应输出流中。最后,我们关闭输出流和文件输入流。
请注意,我们使用了@WebServlet注解来声明Servlet的URL映射路径。在这个例子中,我们将Servlet的URL映射路径设置为/download,所以当用户访问这个路径时,就会触发doGet()方法来进行文件下载。
阅读全文