galera estou com um prolema..
tenho um diretório que tem varios arquivos(txt) eu tenho que pegar o arquivo cujo nome é igual ao parametrogetNomeArquivo()
isso ja esta pronto e fazendo.. depois de pegar o arquivo tenho que passa-lo para Base64.encode e depois disso devolver o arquivo(file)
no "responseVO.setArquivoRetorno(???)"..
meus problemas..
estou passando para Base64.encode o conteudo do arquivo.. fica certo porem na hora de devolver o arquivo no "responseVO.setArquivoRetorno(???)" nao sei o que devolver , nao posso devolver a varial que usei para converter Base64 pois ai devolveria soh o conteudo e preciso devolver o arquivo em si....
nao sei se implementei direito esse file.getAbsoluteFile() pq peguei mais nao estou usando mais ...
acabei em perdendo...
vlw galera abraços
private FT05ResponseVO buildResponse(String source, FT05RequestVO requestVO) throws HandleException {
FT05ResponseVO responseVO = new FT05ResponseVO();
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();
if(file.getName().contains(requestVO.getNomeArquivo())){
len=in.read(buf);
out.write(buf, 0, len);
out.flush();
byte buffer[] = new byte[(int) file.length()];
BufferedInputStream input = new BufferedInputStream(new FileInputStream(file.getAbsoluteFile()));
String arquivo = Base64.encode(out.toByteArray());
input.read(buf, 0, buf.length);
input.close();
}
responseVO.setArquivoRetorno(???);
} 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;
}