我是一个年轻的新开发者,我从未使用过Java servlet。 我有一个http URL,允许我下载.txt文件(例如:http://textfiles.com/100/914bbs.txt)
所以我构建了一个受我在其他帖子上看到的Java servlet。我的目标是下载并阅读此.txt文件。 我想把这个下载的文件放在我的" data.txt"。
中ServletDownload类:
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();
}
}
现在我不知道我的代码是否做得好以及如何将其与我的网址一起使用?
答案 0 :(得分:-1)
代码的结尾可能是这样的(使用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();
}