如何使用servlet从httpURL下载并读取.txt文件



我是一名年轻的新开发人员,从未使用过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();
}

最新更新