Verificar um diretorio X e linkar os arquivos dentro para download

Boa tarde, sou iniciante na área, atualmente trabalho como trainee em uma empresa e eles me pediram para desenvolver uma aplicação que verifica os itens de uma pastar no servidor, e gera links dos arquivos que tem dentro para download…

Eu nunca fiz algo nesse nível antes na faculdade ou até mesmo em projetos pessoais, estou bem perdido nisso para falar a verdade e não tenho ninguém para me orientar, já pesquisei bastante mas até o momento não achei nada…

Alguem pode me passar uma base de como posso desenvolver isso ? quais funções existem para verificar um diretório… agradeço muito qualquer possível ajuda

Como é esse servidor onde estão os arquivos? Como vc tem acesso à ele?

esse servidor é onde está hospedado o tomcat com a aplicação web… então eu iria fazer a aplicação e depois subir no servidor para rodar

os arquivos vai estar dentro da webapps/aplicaçãoweb/download

E esse projeto web usa algum framework (como Spring ou algum outro do tipo, por exemplo)?

cara o projeto é em jsp, usa servlet, struts… que eu me lembro não usei nenhum framework até agora… mas se for mais facil desenvolver com algum framework não vejo nenhum problema em desenvolver usando.

Você pode usar Servlet para realizar o download dos arquivos.

@WebServlet("/download")
public class DownloadServlet extends HttpServlet {
    private final int ARBITARY_SIZE = 1048;
 
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) 
      throws ServletException, IOException {
     
        resp.setContentType("text/plain");
        resp.setHeader("Content-disposition", "attachment; filename=sample.txt");
 
        try(InputStream in = req.getServletContext().getResourceAsStream("/WEB-INF/sample.txt");
          OutputStream out = resp.getOutputStream()) {
 
            byte[] buffer = new byte[ARBITARY_SIZE];
         
            int numBytesRead;
            while ((numBytesRead = in.read(buffer)) > 0) {
                out.write(buffer, 0, numBytesRead);
            }
        }
    }
}

Nessa parte:

try(InputStream in = req.getServletContext().getResourceAsStream("/WEB-INF/sample.txt");

Você tem que mudar "/WEB-INF/sample.txt" para o caminho no seu projeto onde estão os arquivos (comece colocando o caminho para um arquivo para testar).

Com essa servlet, basta acessar http://localhost:8080/download e o arquivo será baixado.

Importante: Qual a versão do java que esse projeto usa?

puts cara só eu vendo la mesmo para lembrar a versão do java, esse ai ele faz o download de um arquivo especifico ? ou ele varre o que tem na pasta e baixa tudo ?

No exemplo que mandei, somente o download de um único arquivo especificado.

entendi, você sabe alguma função que faz a verificação do que tem na pagina ?

Como assim verificar do que tem na página?

pagina não kkk na pasta* preciso verificar todos os arquivos que tem na pasta para depois criar um link de download de cada um deles