Boa noite,
alguem poderia me explicar como listar arquivos que se encontra em uma pasta no servidor e trazer ele em um dataTable?
grato
Boa noite,
alguem poderia me explicar como listar arquivos que se encontra em uma pasta no servidor e trazer ele em um dataTable?
grato
Como você pretende ler essa lista de arquivos?
É um diretório aberto via HTTP? Ou quer ler e trazer a lista dos arquivos via FTP?
Por favor, seja mais específico…
Seguinte eu tenho um cadastro no meu sistema jsf e a esse cadastro eu faço upload de algum arquivos e eu queria trazer na tela de cadastro os arquivos que o usuario fez o upload via html no caso
Como é cadastro, você poderia criar uma tabela que gerenciasse os arquivos enviados, armazenando os nomes dos arquivos e/ou path’s dos arquivos enviados, e trouxesse a lista depois dos itens enviados.
Outra sugestao é ao realizar o upload, especificar em uma determinada pasta no servidor os arquivos enviados por usuário:
Uma especie de estrutura que vc poderia montar no servidor mais ou menos assim: /<id_usuario>/arquivo.pdf
Ex: /010101/arquivo1.pdf
/010101/arquivo2.pdf
/010101/arquivo3.pdf
Depois disso, via FTP vc poderia listar os arquivos existentes no diretorio.
Aqui no trabalho me deparei com uma situacao parecida e optei em realizar a segunda sugestão.
bom dia, jsamuel1987
entao eu at consegui fazer a lista
public List<String> listaArquivo(File f, int nivel) {
List<String> resultado = new ArrayList<String>();
File[] conteudo = f.listFiles();
StringBuffer espaco = new StringBuffer();
for (int i = 0; i < nivel; i++) {
espaco.append(" ");
}
for (int i = 0; i < conteudo.length; i++) {
if (conteudo[i].isDirectory()) {
System.out.println(espaco + " + " + conteudo[i].getName());
//resultado.add(espaco + " + " + conteudo[i].getName());
listaArquivo(conteudo[i], nivel + 1);
} else {
System.out.println(espaco + " " + conteudo[i].getName());
resultado.add(espaco + " " + conteudo[i].getName());
}
}
return resultado;
}
so que assim na linha que contem System.out.println ele me traz a informacao correta dessa forma:
Informações: + documento
Informações: 3-2011-1-2012-02-15-20-53-54.xlsx
Informações: + imagem
Informações: 3-2011-1-2012-02-15-20-53-54.jpg
Informações: 3-2011-1-2012-02-15-20-54-37.jpg
Informações: + pdf
jah no List resultado ele me tras somente o primeiro que eh o nome da pasta
e meus arquivos jah estao fazendo upload com nome padrao tipo (entidade-ano-codigo).pdf
teria alguma sugestao para isso?
Você então nao esta fazendo uma leitura por FTP, correto?
Caso nao seja por FTP, seja uma listagem simples tente algo parecido com isso:
[code]
public static void main(String[] args) {
// TODO code application logic here
List arquivos = new ArrayList();
File dirFile[] = (new File("C:/").listFiles());
for (int i = 0; i < dirFile.length; i++) {
System.out.println("Arquivo: " + dirFile[i].getName());
}
} [/code]
Neste exemplo acima, ele vai trazer tudo aquilo que estiver dentro do “C:/”, independente se for arquivo ou pasta.
[]'s
Acredito que o post anterior não foi muito preciso ou util pra você, posso estar errado.
Peguei o seu fonte e acabou aparecendo um erro de NullPointerException.
Para apenas um entendimento melhor, vamos definir a sua necessidade.
Vamos usar essa situacao como exemplo e veja se bate com a sua necessidade.
Você tem uma pasta onde os usuarios vao subir arquivos, é isso? Vamos dar entao o nome de “Upload” para ela.
Nesta pasta “Upload”, voce cria outras pastas com o ID de cada usuario, e dentro de cada pasta você cria outras pastas chamadas “Imagens” e “Documentos”, neste caso, teriamos a seguinte arvore:
+ Upload
+ 010101
+ Imagens
- Imagem1.png
- Imagem2.png
+ Documentos
- Documento1.doc
- Documento2.doc
+ 010102
+ Imagens
- Imagem3.png
- Imagem4.png
+ Documentos
- Documento3.doc
- Documento4.doc
Você tem essa estrutura de pastas? É esse o resultado que você quer que seja gerado?
jsamuel1987
seguinte a estrutura eh igual a essa
eu tenho uma pasta upload e dentro dela eu tenho a separação por menu tipo a tela de cadastro de processo entao vai ser upload/processo e dai dentro separado por pasta (documento, imagem, pdf) dai eu troco o nome do arquivo para o id do cadastro e vincular esses arquivos para o usuario efetuar download