Ola galera !!!
Estou com um probleminha e preciso da ajuda de vcs sou novo em java peçoa comrpeenção de vcs…
tenho um diretorio chamado source e dentro desse diretorio contem arquivos… tenho um cara chamado codigoCliente que é comparado com os arquivos
contidos no diretorio e caso tenha algum arquivo no direitorio cujo o nome seja igual ao conteudo de “codigoCliente” ele losta informações sobre esse arquivo.
o meu problema: eu faço uma comparação utilizando um if para verificar se há algm dentro do diretorio com o mesmo nome que esta contido em “codigoCliente”
porém podem ter N arquivos com o mesmo “codigoCliente” claro com conteudo tamanho diferentes porem com o mesmo prefixo… o que eu preciso é listar informações sobre todos eles…
preciso criar um While algo do tipo que envolva esse if fazendo ele se repetir até que tenha olhado o diretorio inteiro e pegado todos os arquivos que tenha o mesmo prefixo de “codigoCliente” mas sou meio noob ainda entao nao sei como farei esse while …
algm pode me ajudar?? grato
private FT00ResponseVO buildResponse(String source) throws HandleException {
FT00ResponseVO responseVO = new FT00ResponseVO();
FT00ArquivoVO arquivoVO = new FT00ArquivoVO();
FT00RequestVO requestVO = new FT00RequestVO();
responseVO.setCodigoRetorno(0);
try {
LocalFileUtil fileUtil = new LocalFileUtil(source);
List<File> files = fileUtil.getFiles("");
byte[] buf = new byte[1024];
int len = 0;
log.info("Generating FT00 response object");
for (File file: files) {
InputStream in = null;
ByteArrayOutputStream out = null;
try {
in = new FileInputStream(file);
out = new ByteArrayOutputStream();
while ((len = in.read(buf)) > 0){
out.write(buf, 0, len);
}
out.flush();
//AKI entraria o while... vasculhando o diretorio inteiro..
if(file.getName().contains("_"+requestVO.getCodigoCliente()+"_")){
arquivoVO.setNomeArquivo(file.getName());
arquivoVO.setCodigoProduto(requestVO.getCodigoProduto());
arquivoVO.setTamanho(new Long(file.length()).toString());
arquivoVO.setTimestampArquivo(new Date(file.lastModified()));
arquivoVO.setTipoCaixaPostal(requestVO.CAIXA_TIPO_RETORNO);
}
responseVO.addAllArquivos((List) arquivoVO);
} catch (Exception e) {
log.warn("Fail to include file " + file.getName() + " in responseVO", e);
} finally {
try {
if (in != null) {
in.close();
}
if (out != null) {
out.close();
}
} catch (IOException e) {
log.warn("Fail to close streams for file " + file.getName(), e);
}
}
}
} catch (IntegLayerException e) {
throw new HandleException(IntegLayerErrorCodes.ERROR_BUILDING_RESPONSE, e);
}
return responseVO;
}
vlw