我是一名年轻的新开发人员,从未使用过Java servlet。我有一个http URL,可以下载一个.txt文件(例如:http://textfiles.com/100/914bbs.txt)
因此,我构建了一个Java servlet,其灵感来自于我在其他帖子中看到的内容。我的目标是下载并阅读这个.txt文件。我想把这个下载的文件放在我的"data.txt".
Servlet下载类:
public class ServletDownload extends HttpServlet {
private static final int BYTES_DOWNLOAD = 1024;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException {
response.setContentType("text/plain");
response.setHeader("Content-Disposition",
"attachment;filename=downloadname.txt");
ServletContext ctx = getServletContext();
InputStream is = ctx.getResourceAsStream("Donnees/data.txt");
int read = 0;
byte[] bytes = new byte[BYTES_DOWNLOAD];
OutputStream os = response.getOutputStream();
while ((read = is.read(bytes)) != -1) {
os.write(bytes, 0, read);
}
os.flush();
os.close();
}
}
现在我不知道我的代码是否完成得很好,以及如何将其与我的URL一起使用?
代码的结尾可能是这样的(使用try with resources语句来正确关闭流):
try (InputStream is = new URL("http://textfiles.com/100/914bbs.txt").openStream();
OutputStream os = response.getOutputStream()) {
int read = 0;
byte[] bytes = new byte[BYTES_DOWNLOAD];
while ((read = is.read(bytes)) != -1) {
os.write(bytes, 0, read);
}
os.flush();
}